Traverse multi dimensional array recursively without using foreach
multidimensional-array, php, recursion
Solution
Simple depth first search:
function DFS($array) {
for ($i = 0; $i < count($array); $i ++) {
if (is_array($array[$i])) {
DFS($array[$i]);
}
else {
echo "key: ".$i.", value: ".$array[$i]."<br />";
}
}
}
Problem
I have an array like this and the code using foreach loop. ``` $arr = array( array ( array( 'CAR_TIR', 'Tires', 100 ), array( 'CAR_OIL', 'Oil', 10 ), array( 'CAR_SPK', 'Spark Plugs', 4 ) ), array ( array( 'VAN_TIR', 'Tires', 120 ), array( 'VAN_OIL', 'Oil', 12 ), array( 'VAN_SPK', 'Spark Plugs', 5 ) ), array ( array( 'TRK_TIR', 'Tires', 150 ), array( 'TRK_OIL', 'Oil', 15 ), array( 'TRK_SPK', 'Spark Plugs', 6 ) ) ); function recarray($array) { foreach($array as $key=>$value) { if(is_array($value)) { RecArray($value); } else { echo "key = $key value = $value"; } } } recarray($arr); ``` I have to traverse the array using recursion and without using foreach.