라이브러리
[PHP] array_walk_recursive - 배열의 모든 멤버에 사용자 함수를 재귀적으로 적용합니다.
PHP에서 Array Walk Recursive
PHP에서 `array_walk_recursive` 함수는 배열의 모든 요소에 대해 함수를 호출하는 데 사용됩니다. 이 함수는 배열의 요소가 배열인 경우까지 재귀적으로 호출되며, 배열의 요소가 배열이 아닌 경우에는 단순히 함수를 호출합니다.
# array_walk_recursive 함수의 사용법
`array_walk_recursive` 함수는 두 개의 인자를 받습니다. 첫 번째 인자는 배열 자체, 두 번째 인자는 함수입니다. 함수는 배열의 요소에 대해 호출됩니다.
# 예제
#hostingforum.kr
php
// 예제 1: 단순한 array_walk_recursive 사용
$data = [
'name' => 'John',
'age' => 30,
'address' => [
'street' => '123 Main St',
'city' => 'New York',
'state' => 'NY'
]
];
function printValue($value, $key) {
echo "$key: $value
";
}
array_walk_recursive($data, 'printValue');
이 예제에서는 `array_walk_recursive` 함수를 사용하여 배열의 모든 요소를 출력합니다. 결과는 다음과 같습니다.
#hostingforum.kr
name: John
age: 30
street: 123 Main St
city: New York
state: NY
# 예제 2: array_walk_recursive 사용하여 배열 요소 수정
#hostingforum.kr
php
// 예제 2: array_walk_recursive 사용하여 배열 요소 수정
$data = [
'name' => 'John',
'age' => 30,
'address' => [
'street' => '123 Main St',
'city' => 'New York',
'state' => 'NY'
]
];
function modifyValue(&$value, $key) {
if ($key == 'age') {
$value += 10;
}
}
array_walk_recursive($data, 'modifyValue');
echo "name: $data[name]
";
echo "age: $data[age]
";
echo "street: $data[address][street]
";
echo "city: $data[address][city]
";
echo "state: $data[address][state]
";
이 예제에서는 `array_walk_recursive` 함수를 사용하여 배열의 요소를 수정합니다. 결과는 다음과 같습니다.
#hostingforum.kr
name: John
age: 40
street: 123 Main St
city: New York
state: NY
# 예제 3: array_walk_recursive 사용하여 배열 요소 삭제
#hostingforum.kr
php
// 예제 3: array_walk_recursive 사용하여 배열 요소 삭제
$data = [
'name' => 'John',
'age' => 30,
'address' => [
'street' => '123 Main St',
'city' => 'New York',
'state' => 'NY'
]
];
function removeValue(&$value, $key) {
if ($key == 'age') {
unset($value);
}
}
array_walk_recursive($data, 'removeValue');
print_r($data);
이 예제에서는 `array_walk_recursive` 함수를 사용하여 배열의 요소를 삭제합니다. 결과는 다음과 같습니다.
#hostingforum.kr
php
Array
(
[name] => John
[address] => Array
(
[street] => 123 Main St
[city] => New York
[state] => NY
)
)
# 결론
`array_walk_recursive` 함수는 PHP에서 배열의 모든 요소에 대해 함수를 호출하는 데 사용됩니다. 이 함수는 배열의 요소가 배열인 경우까지 재귀적으로 호출되며, 배열의 요소가 배열이 아닌 경우에는 단순히 함수를 호출합니다. `array_walk_recursive` 함수를 사용하여 배열의 요소를 출력, 수정, 삭제할 수 있습니다.
댓글목록
등록된 댓글이 없습니다.