Foreach loops on multidimensional arrays in PHP
Inspired by https://bit.ly/3psMXqD
If you have a multidimensional array you don’t have to proceed it like this:
<?php
$array = [
["AA", "AB",
["ACA", "ACD"]
],
["BA", "BB",
["BCA", "BCD"]
],
["CA", "CB",
["CCA", "CCD"]
],
];
foreach($array as $a){
foreach($a as $b){
if(is_array($b)){
foreach($b as $c){
echo "$c ";
}
}else{
echo "$b ";
}
}
}
?>
You can simply make it like this:
<?php
$array = [
["AA", "AB",
["ACA", "ACD"]
],
["BA", "BB",
["BCA", "BCD"]
],
["CA", "CB",
["CCA", "CCD"]
],
];
foreach($array as list($a, $b, list($c, $d))) {
echo "$a $b $c $d ";
};
?>
For every new dimension you just need to add a new dimension of the list()
function.
Written on March 9, 2022