현재 위치: > 최신 기사 목록> PHP 튜토리얼 : Array_Walk_Recursive () 함수를 사용하여 각 요소를 다차원 배열에서 처리합니다.

PHP 튜토리얼 : Array_Walk_Recursive () 함수를 사용하여 각 요소를 다차원 배열에서 처리합니다.

M66 2025-08-05

array_Walk_Recursive () 기능 소개 PHP의 기능

Array_Walk_Recursive ()는 PHP가 제공하는 강력한 기능입니다. 다차원 배열에서 각 요소를 재발적으로 통과하고 지정된 콜백 함수를 실행할 수 있습니다. 복잡한 배열 구조를 균일하게 처리 해야하는 시나리오에 적합합니다.

샘플 다차원 배열을 만듭니다

Array_Walk_Recursive ()의 사용을 보여주기 위해 먼저 세 가지 필드를 포함하여 학생 정보를 포함하는 다차원 배열을 정의합니다.

 $students = array(
    array(
        'name' => '장 산',
        'age' => 18,
        'scores' => array(80, 85, 90),
    ),
    array(
        'name' => 'Li Si',
        'age' => 19,
        'scores' => array(75, 78, 82),
    ),
    array(
        'name' => '왕 우',
        'age' => 20,
        'scores' => array(90, 95, 88),
    ),
);

콜백 함수를 정의하여 평균 점수를 계산하십시오

다음으로 콜백 함수를 작성하여 키 이름이 점수 인지 여부를 감지하고 점수의 평균을 계산 한 다음 해당 점수 배열에 평균을 추가하십시오.

 function calculateAverage(&$value, $key)
{
    if ($key === 'scores') {
        $average = array_sum($value) / count($value);
        $value['average'] = $average;
    }
}

Array_Walk_Recursive ()를 적용하여 배열을 가로 지르고 콜백을 실행하십시오

Array_Walk_Recursive ()를 사용하여 다차원 배열을 가로 지르고 위에서 정의 된 콜백 함수를 호출하여 각 요소를 처리합니다.

 <span class="fun">Array_Walk_Recursive ($ 학생, &#39;CalculateAverage&#39;);</span>

이러한 방식으로 평균 키가 각 학생의 학년 배열에 추가되어 학생의 평균 점수를 저장합니다.

확인 결과

수정 된 배열을 인쇄하면 평균 점수가 올바르게 추가되었음을 직관적으로 알 수 있습니다.

 <span class="fun">print_r ($ 학생);</span>

출력 결과 예 :

 Array
(
    [0] => Array
        (
            [name] => 장 산
            [age] => 18
            [scores] => Array
                (
                    [0] => 80
                    [1] => 85
                    [2] => 90
                    [average] => 85
                )
        )
    [1] => Array
        (
            [name] => Li Si
            [age] => 19
            [scores] => Array
                (
                    [0] => 75
                    [1] => 78
                    [2] => 82
                    [average] => 78.33333333333333
                )
        )
    [2] => Array
        (
            [name] => 왕 우
            [age] => 20
            [scores] => Array
                (
                    [0] => 90
                    [1] => 95
                    [2] => 88
                    [average] => 91
                )
        )
)

요약

이 기사는 PHP의 Array_walk_Recursive () 함수를 사용하여 다차원 배열을 재귀 적으로 가로 지르고 콜백 함수를 통해 어레이 요소의 유연한 처리를 구현하는 방법을 소개합니다. 이 방법을 통해 개발자는 중첩 어레이에서 데이터를 효율적으로 처리하여 복잡한 비즈니스 요구를 충족시킬 수 있습니다.