배열 array_replace_recursive

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

array_replace_recursive — 전달된 배열의 요소를 첫 번째 배열로 재귀적으로 교체합니다.


설명

array_replace_recursive(array $array, array ...$replacements): array

array_replace_recursive()array의 값을 다음 모든 배열의 동일한 값으로 바꿉니다. 첫 번째 배열의 키가 두 번째 배열에 있는 경우 해당 값은 두 번째 배열의 값으로 대체됩니다. 키가 첫 번째 배열이 아닌 두 번째 배열에 있는 경우 첫 번째 배열에 생성됩니다. 키가 첫 번째 배열에만 존재하는 경우 그대로 유지됩니다. 교체를 위해 여러 배열이 전달된 경우 순서대로 처리되고 나중 배열이 이전 값을 덮어씁니다.

array_replace_recursive()는 재귀적입니다. 배열로 재귀하여 내부 값에 동일한 프로세스를 적용합니다.

첫 번째 배열의 값이 스칼라이면 두 번째 배열의 값으로 대체되며 스칼라 또는 배열일 수 있습니다. 첫 번째 배열과 두 번째 배열의 값이 모두 배열인 경우 array_replace_recursive()는 해당 값을 재귀적으로 바꿉니다.


매개변수

array
요소가 대체되는 배열입니다.
replacements
요소를 추출할 배열입니다.

반환 값

배열을 반환합니다.


Examples

예제 #1 array_replace_recursive() 예제

                  
<?php
$base = array('citrus' => array( "orange") , 'berries' => array("blackberry", "raspberry"), );
$replacements = array('citrus' => array('pineapple'), 'berries' => array('blueberry'));

$basket = array_replace_recursive($base, $replacements);
print_r($basket);

$basket = array_replace($base, $replacements);
print_r($basket);
?>
                  
                

위의 예는 다음을 출력합니다.

Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
            [1] => raspberry
        )

)
Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
        )

)
                

예제 #2 array_replace_recursive() 및 재귀 동작

                  
<?php
$base = array('citrus' => array("orange") , 'berries' => array("blackberry", "raspberry"), 'others' => 'banana' );
$replacements = array('citrus' => 'pineapple', 'berries' => array('blueberry'), 'others' => array('litchis'));
$replacements2 = array('citrus' => array('pineapple'), 'berries' => array('blueberry'), 'others' => 'litchis');

$basket = array_replace_recursive($base, $replacements, $replacements2);
print_r($basket);
?>
                  
                

위의 예는 다음을 출력합니다.

Array
(
    [citrus] => Array
        (
            [0] => pineapple
        )

    [berries] => Array
        (
            [0] => blueberry
            [1] => raspberry
        )

    [others] => litchis
)
                

기타