Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: 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
$array = array();
$array['foo'][] = 'aaa';
$array['foo'][] = 'bbb';
$array['foo'][] = 'ccc';
$array['foo'][] = 'ddd';
-
$array[][] znamena ze mas pole poli. Nemuzes to brat jako 2D pole. Udelej tam foreach inside foreach
-
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 */
-
foreach ($array['foo'] as $item) {
echo "$item\n";
}
nebo jednodušeji
echo implode("\n", $array['foo']);
-
Teď mě napadá, že to možná chceš vypsat celé
foreach ($array as $key => $row) {
echo "$key: " . implode(", ", $row) . "\n";
}
-
print_r(array('aaa', 'bbb', 'ccc', 'ddd'));
-
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
-
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ě.