Funkcja array_replace_recursive() w PHP

Przykład

Rekurencyjne użycie wartości z drugiej tablicy ($a2) do zastępowania wartości z pierwszej tablicy ($a1):

<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"),);
$a2=array("a"=>array("yellow"),"b"=>array("black"));
print_r(array_replace_recursive($a1,$a2));
?>

Przykłady uruchomieniowe

Definicja i użycie

Funkcja array_replace_recursive() rekurencyjnie używa wartości z tablicy następnej do zastępowania wartości z pierwszej tablicy.

Wskazówka:Możesz przekazać do funkcji tablicę, lub wiele tablic.

jeśli klucz istnieje w pierwszej tablicy array1 również istnieje w drugiej tablicy array2pierwszej tablicy array1 wartości w drugiej tablicy. array2 wartości w drugiej tablicy. array1, pozostanie niezmieniona. array2, ale nie istnieje w pierwszej tablicy array1, ale nie istnieje w pierwszej tablicy array1 utworzeniu tego elementu. Jeśli przekazano wiele tablic zastępczych, będą one przetwarzane w kolejności, a wartości tablicy następnej będą zastępować wartości tablicy poprzedniej.

Komentarz:Jeśli dla każdej tablicy nie określono klucza, zachowanie tej funkcji będzie równoważne array_replace() funkcja.

gramatyka

array_replace_recursive(array1,array2,array3...)
...) parametry
array1 opis
array2 wymagane. Określ tablicę array1 opcjonalnie. Określ tablicę do zastąpienia
array3,... opcjonalnie. Określ wiele tablic do zastąpienia array1 i array2Tablica wartości ... . Wartości tablicy położonej za pomocą kropki będą zastępować wartości tablic umieszczonych wcześniej.

Szczegóły techniczne

Zwracana wartość: Zwraca zastąpioną tablicę, w przypadku błędu zwraca NULL.
Wersja PHP: 5.3.0+

Więcej przykładów

Przykład 1

Wiele tablic:

<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"));
$a2=array("a"=>array("yellow"),"b"=>array("black"));
$a3=array("a"=>array("orange"),"b"=>array("burgundy"));
print_r(array_replace_recursive($a1,$a2,$a3));
?>

Przykłady uruchomieniowe

Przykład 2

Różnice między array_replace() a array_replace_recursive():

<?php
$a1=array("a"=>array("red"),"b"=>array("green","blue"),);
$a2=array("a"=>array("yellow"),"b"=>array("black"));
$result=array_replace_recursive($a1,$a2);
print_r($result);
$result=array_replace($a1,$a2);
print_r($result);
?>

Przykłady uruchomieniowe