Мне нужен метод для обхода многомерного массива в PHP без использования вызовов самой функции.
В основном у меня есть такой массив:
$data = array(
'hoge' => 123,
'foo' => 456,
'bar' => 789,
'aaa' => array(
'abc' => 111,
'bcd' => 222,
'cde' => 333
),
'bbb' => array(
'def' => array(
'efg' => 'hoge'
)
),
'stacks' => array(
'a',
'b'=> array('qwe' => 111,
'asd' => 222,
'args' => array('1',
'2',
'3')),
'c'
)
);
Обычно вы используете такую функцию, как эта:
function get_array_elems($arrResult, $where="array"){
while(list($key,$value)=each($arrResult)){
if (is_array($value)){
get_array_elems($value, $where."[$key]");
}
} else {
...anything
}
}
get_array_elems($arrResult);
Я не могу использовать этот метод, потому что мне нужно написать этот метод в функции PHP, и он не может написать функцию в другой функции.
Можно ли это сделать с помощьюитерационный метод, такой как while, foreach, array_walk_recursive и т. д .?