Portál AbcLinuxu, 24. dubna 2024 16:17


Dotaz: Výpis pole v php

23.9.2014 22:28 Marfa
Výpis pole v php
Přečteno: 608×
Odpovědět | Admin
Ahoj, poradí mi prosím někdo, jak vypsat tohle celé pole.
$arr = array('a' => array('aa', 'aaa'),
             'b' => array('bb', 'bbb'),
             'c' => array('cc', 'ccc')
             );
Požadovaný výsledek

a aa aaa
b bb bbb
c cc ccc
moc děkuji za pomoc.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

xxxxxx avatar 23.9.2014 22:33 xxxxxx | skóre: 23
Rozbalit Rozbalit vše Re: Výpis pole v php
Odpovědět | | Sbalit | Link | Blokovat | Admin
První možnost, co mě napadla:
foreach ($arr as $key => $val)
{
  print($key . ' ');
  
  foreach ($val as $val2)
    print($val2 . ' ');

  print(PHP_EOL); # Nebo 
}
Jestli někdo najde lepší řešení (jakože asi ano), tak to bude super :)
Josef Kufner avatar 23.9.2014 23:44 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Výpis pole v php
echo $key, " ";
Takle je to rychlejší. Není potřeba spojovat řetězce před jejich vypsáním, jen se nasypou do výstupního bufferu.
Hello world ! Segmentation fault (core dumped)
24.9.2014 12:29 Marfa
Rozbalit Rozbalit vše Re: Výpis pole v php
Díky chlapy a proč se nic nevypíše jen s echo $key;. Díky
24.9.2014 13:12 Lucius
Rozbalit Rozbalit vše Re: Výpis pole v php
Vypise, pokud $key neco obsahuje, pak se to vypise.
Řešení 1× (Tarmaq)
24.9.2014 12:11 Lucius
Rozbalit Rozbalit vše Re: Výpis pole v php
Nevim jak je na rychlost/vykon, ale je mozne to taky napsat treba jako:

foreach ($arr as $key => $val)
{
 echo $key, " ", implode(" ",$val), PHP_EOL;
  
}
Tarmaq avatar 24.9.2014 12:43 Tarmaq | skóre: 39
Rozbalit Rozbalit vše Re: Výpis pole v php
Tohle je podle me rychlejsi, ale hlavne spravne reseni. Reseni uzivatele mika-talvinena totiz na kazdem radku vytiskne whitespace navic, coz asi nebude zadouci..

PS: preferuju "\n" misto PHP_EOL
Don't panic!
24.9.2014 12:50 Lucius
Rozbalit Rozbalit vše Re: Výpis pole v php
Jeste to jde taky pres array_walk - ale to si myslim ze uz je v tomto pripade jak s kanonem na vrabce :-) ale pokud by potreboval s tema hodnotama z poli pred vypisem jeste pracovat, tak je to mozne nejak takto:

array_walk( $arr, create_function('$val,$key','echo $key, " ",implode(" ",$val),PHP_EOL;'));
Josef Kufner avatar 24.9.2014 12:54 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Výpis pole v php
Ale fuj. V PHP máme krásné anonymní funkce:
array_walk($arr, function ($val, $key) {
    echo $key, " ", join(" ", $val), "\n";
});
Hello world ! Segmentation fault (core dumped)
24.9.2014 13:03 Lucius
Rozbalit Rozbalit vše Re: Výpis pole v php
Ja nevim od jake verze anonymni funkce funguji, myslim ze nekde 5.3 . tak jsem napsal reseni ktere funguje od ver. 4 :-). Jinak mate samozrejme pravdu.
Josef Kufner avatar 24.9.2014 23:52 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Výpis pole v php
Ano, je to od verze 5.3, která byla vydána 30. června 2009. Tedy před pěti lety.
Hello world ! Segmentation fault (core dumped)
25.9.2014 11:23 Marfa
Rozbalit Rozbalit vše Re: Výpis pole v php
:-D Díky chlapy za pomoc !
25.9.2014 11:54 Lucius
Rozbalit Rozbalit vše Re: Výpis pole v php
To je jiste pravda, jenze internet je stale plny starsich verzi php (4 - 5.2 ) a protoze nebylo uvedeno pro jakou verzi to potrebuje, tak jsem uvedl reseni, ktere je pruchozi u vsech verzi od 4. Ale to je zbytecna debata - reseni tu ma nekolik, pokud chce v php programovat, ta si jiste projde rozdily a jeste se necemu u toho priuci :-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.