Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: kozel 10. 05. 2014, 17:27:34

Název: Jak vypsat pole
Přispěvatel: kozel 10. 05. 2014, 17:27:34
Ahoj, mám takto nastavené pole, ale nevím, jak můžu takové pole vypsat pomocí php, zkoušel jsem to pomocí foreach ale vrací ,i to jen "array" :-( Poradí někdo? Děkuji
Kód: [Vybrat]
$array = array();
$array['foo'][] = 'aaa';
$array['foo'][] = 'bbb';
$array['foo'][] = 'ccc';
$array['foo'][] = 'ddd';
Název: Re:Jak vypsat pole
Přispěvatel: Tsukasa 10. 05. 2014, 17:40:36
$array[][] znamena ze mas pole poli. Nemuzes to brat jako 2D pole. Udelej tam foreach inside foreach
Název: Re:Jak vypsat pole
Přispěvatel: Karlos 10. 05. 2014, 18:32:25
Měl jsem za to, že 2D pole je právě pole polí... Nicméně můžeš si zkusit nechat vypsat proměnnou v tom cyklu místo echem fcí print_r(), pak uvidíš, že z $array['foo'] se skutečně stalo pole. Projdi si třeba http://www.php.net/manual/en/control-structures.foreach.php oddíl
/* foreach example 4: multi-dimensional arrays */
Název: Re:Jak vypsat pole
Přispěvatel: Kit 10. 05. 2014, 18:36:33
Kód: [Vybrat]
foreach ($array['foo'] as $item) {
    echo "$item\n";
}
nebo jednodušeji
Kód: [Vybrat]
echo implode("\n", $array['foo']);
Název: Re:Jak vypsat pole
Přispěvatel: Kit 10. 05. 2014, 18:45:06
Teď mě napadá, že to možná chceš vypsat celé
Kód: [Vybrat]
foreach ($array as $key => $row) {
    echo "$key: " . implode(", ", $row) . "\n";
}
Název: Re:Jak vypsat pole
Přispěvatel: xxar3s_ 10. 05. 2014, 19:22:00
Kód: [Vybrat]
print_r(array('aaa', 'bbb', 'ccc', 'ddd'));
Název: Re:Jak vypsat pole
Přispěvatel: Tsukasa 11. 05. 2014, 07:53:04
Měl jsem za to, že 2D pole je právě pole polí

Je to mozna jenom moje vnitrni deleni, ale 2D pole chapu tak, ze libovolny prvek array[m] ma vzdy delku n a pole poli, protoze to nektere jazyky to dovoluji, chapu tak ze delky array a array[j] mohou mit jinou delku, samozrejme pro i != j
Název: Re:Jak vypsat pole
Přispěvatel: Kit 11. 05. 2014, 09:07:19
Je to mozna jenom moje vnitrni deleni, ale 2D pole chapu tak, ze libovolny prvek array[m] ma vzdy delku n a pole poli, protoze to nektere jazyky to dovoluji, chapu tak ze delky array a array[j] mohou mit jinou delku, samozrejme pro i != j
Array v PHP de facto není jen pole, ale funguje i jako různé kolekce. Velmi často se používá jako seznam, slovník nebo jejich kombinace - tedy slovník seznamů (viz dotaz) nebo seznam slovníků (fetchAll z databáze). Takové kombinace se obvykle nesprávně označují jako 2D pole.

Jako pole se array v PHP používá spíš výjimečně.