PHP | array_replace_recursive () Функция

Опубликовано: 24 Февраля, 2022

Array_replace_recursive () - это встроенная функция в PHP, которая рекурсивно заменяет значения первого массива значениями из следующих массивов.
Он выполняет замену по следующим правилам:

  • Если ключ из первого массива существует во втором массиве, то значение, соответствующее этому ключу первого массива, будет заменено значением второго массива.
  • Если ключ существует во втором массиве, но не в первом массиве, он будет создан в первом массиве.
  • Если ключ существует только в первом массиве, он останется как есть.
  • Если на замену передано несколько массивов, они будут обработаны по порядку, причем более поздний массив перезапишет предыдущие значения.

Синтаксис:

array_replace_recursive ($ массив1, $ массив2, $ массив3 ...)

Параметры: эта функция принимает список массивов в качестве параметров, где первый параметр является обязательным, а остальные - необязательными.

Возвращаемое значение : возвращает измененный массив или NULL в случае ошибки.

Пример:

Input: $array1 = array("a"=>array("red"), 
                       "b"=>array("green"));
       $array2 = array("a"=>array("yellow"), 
                       "b"=>array("black"));
Output: Array ( 
                [a] => Array ( [0] => yellow ) 
                [b] => Array ( [0] => black  ) 
              )

Below program illustrate the array_replace_recursive() function:

<?php
  
// PHP program to illustrate array_replace_recursive() 
// function
  
$array1 = array( "a" => array("red"), 
            "b" => array("green", "blue"));
$array2=array( "a" => array("yellow"), 
                    "b" => array("black"));
$array3=array("a" => array("orange"), 
                 "b" => array("burgundy"));
  
print_r(array_replace_recursive($array1, $array2, $array3));
  
?>

Выход:

Множество
(
    [a] => Массив
        (
            [0] => оранжевый
        )

    [b] => Массив
        (
            [0] => бордовый
            [1] => синий
        )

)

Ссылка :
http://php.net/manual/en/function.array-replace-recursive.php

PHP