실제로는 array_walk_recursive
에 대해 True
의 값이 반환됩니다. 함수의 documentation을 보면이 메소드가 수행하는 작업은 객체의 각 항목과 키에 대해 _output
함수를 호출하는 것입니다.
또한이 비슷합니다 일부 코드를해야한다, 내가 상상하는 것, 그것이 제대로 작동하려면 얻을 수 있습니다 : 그것은 당신이 array_walk_recursive
에 준 캐릭터 라인 화 된 이름이기 때문에 _output
가 호출
function _output($data, $key) {
echo "For the key $key, I got the data: ";
print_r($data);
}
기능. 그러면 화면에 값이 인쇄됩니다.
편집는 :
내가 실제로 원래하지만 할 싶은 있었는지 대답 아니에요 것으로 보인다. 배열의 모든 요소에 함수를 적용하려면 array_map
을 살펴 보시기 바랍니다. 당신은이 같은 array_map
를 사용할 수 있습니다
function double($item) {
return 2 * $item;
}
array_map('double', $item);
궁극적으로 재귀는 당신이 원하는 무언가가 있다면, 당신은 아마 같은 것을 할 수있다 : $ OBJ와 같은 다른 배열을 반환
function callback($key, $value) {
// do some stuff
}
function array_map_recursive($callback, $array) {
$new_array = array()
foreach($array as $key => $value) {
if (is_array($value)) {
$new_array[$key] = array_map_recursive($callback, $value);
} else {
$new_array[$key] = call_user_func($callback, $key, $value);
}
}
return $new_array;
}
array_map_recursive('callback', $obj);
하지만, 콜백이해야 할 일이 무엇이든간에.