/ / beh pre slučku v poli bez inkrementálneho indexu - php, polia, slučky, multidimenzionálne pole

beží pre slučku na poli bez inkrementálneho indexu - php, polia, slučky, multidimenzionálne pole

Mám toto ľubovoľné viacrozmerné pole.

Array (

[0] => Array
(
[0] => 0
[1] => 1
[2] => 2
)

[5] => Array
(
[0] => 0
[1] => 1
[2] => 2
)

[10] => Array
(
[0] => 0
[1] => 1
[2] => 2
)

[15] => Array
(
[0] => 0
[1] => 1
[2] => 2
)

[1] => Array
(
[0] => 2
[1] => 1
[2] => 2
)

[2] => Array
(
[0] => 2
[1] => 1
[2] => 2
)

)

Chcem spustiť slučku pre extrahovanie dát zkaždý subarray. Ale nemôžem urobiť jednoduchý pre slučku, pretože index (0,5,10,15,1) je ľubovoľný. Existuje spôsob spustenia slučky pre, potom preskočíte podradené pole, ak je prázdne?

Vďaka!

odpovede:

3 pre odpoveď č. 1

To bude trvať $array a slučka, aj keď, echo kľúče.
Máte pole v poli, môžete umiestniť foreach v foreach:

// First we take the main array ($array) and loop though its values
foreach( $array as $main_key =>$sub_array){
echo $main_key.": <br />n"; // echo the key, some extra html to format

// the values of the mainarray are arrays themselves, just loop again:
foreach($subarray as $sub_key =>$subvalue){
echo "- ".$subvalue."<br />n";
}
}

Tam je trochu pasce, ak predstierate v foreach:

foreach($array as $key =>$value){
foreach($value as $key=>$value){ /* ... */; }
}

To bude mať veľmi zvláštne výsledky. Vnútorný foreach používa rovnaké názvy parametrov a všetko sa zmení.