라이브러리

[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` 함수를 사용하여 배열의 요소를 출력, 수정, 삭제할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 594 페이지

검색

게시물 검색