Я маю цей довільний багатовимірний масив.
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
)
)
Я хочу запустити цикл для вилучення данихкожен подмассив. Але я не можу зробити простий цикл, тому що індекс (0,5,10,15,1) довільний. Чи є спосіб запустити цикл for, а потім пропустити суб-масив, якщо він порожній?
Дякую!
Відповіді:
3 для відповіді № 1Це займе $array
і цикл хоч і, повторюючи ключі.
У масиві є масив, можна зробити foreach у 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";
}
}
Тут є трохи пастки, якщо ви передбачаєте в foreach:
foreach($array as $key =>$value){
foreach($value as $key=>$value){ /* ... */; }
}
Це створить дуже дивні результати. Внутрішній foreach використовує ті ж самі назви параметрів і все зіпсує.