/ / run for loop on array без інкрементного індексу - php, масиви, петлі, багатовимірний масив

працює для циклу в масиві без інкрементного індексу - php, масиви, цикли, багатовимірний масив

Я маю цей довільний багатовимірний масив.

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 використовує ті ж самі назви параметрів і все зіпсує.