Funkce PHP array_replace().
Příklad
Nahraďte hodnoty prvního pole ($a1) hodnotami z druhého pole ($a2):
<?php
$a1=array("red","green");
$a2=array("blue","yellow");
print_r(array_replace($a1,$a2));
?>
Definice a použití
Funkce array_replace() nahradí hodnoty prvního pole hodnotami z následujících polí.
Tip: K funkci můžete přiřadit jedno pole, nebo libovolný počet.
Pokud klíč z pole1 existuje v poli2, hodnoty z pole1 budou nahrazeny hodnotami z pole2. Pokud klíč existuje pouze v poli 1, bude ponechán tak, jak je (viz příklad 1 níže).
Pokud klíč existuje v poli2 a ne v poli1, bude vytvořen v poli1 (viz příklad 2 níže).
Pokud je použito více polí, hodnoty z pozdějších polí přepíší předchozí (viz příklad 3 níže).
Tip: Použijte array_replace_recursive() k rekurzivnímu nahrazení hodnot pole1 hodnotami z následujících polí.
Syntax
array_replace(array1, array2, array3, ...)
Hodnoty parametrů
Parameter | Description |
---|---|
array1 | Required. Specifies an array |
array2 | Optional. Specifies an array which will replace the values of array1 |
array3,... | Optional. Specifies more arrays to replace the values of array1 and array2, etc. Values from later arrays will overwrite the previous ones. |
Technické údaje
Návratová hodnota: | Vrátí nahrazené pole nebo NULL, pokud dojde k chybě |
---|---|
Verze PHP: | 5.3.0+ |
Další příklady
Příklad 1
Pokud klíč z pole1 existuje v poli2 a pokud klíč existuje pouze v poli1:
<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("a"=>"orange","burgundy");
print_r(array_replace($a1,$a2));
?>
Příklad 2
Pokud klíč existuje v poli2 a nikoli v poli1:
<?php
$a1=array("a"=>"red","green");
$a2=array("a"=>"orange","b"=>"burgundy");
print_r(array_replace($a1,$a2));
?>
Příklad 3
Použití tří polí - poslední pole ($a3) přepíše předchozí ($a1 a $a2):
<?php
$a1=array("red","green");
$a2=array("blue","yellow");
$a3=array("orange","burgundy");
print_r(array_replace($a1,$a2,$a3));
?>
Příklad 4
Použití číselných kláves – Pokud klíč existuje v poli2 a nikoli v poli1:
<?php
$a1=array("red","green","blue","yellow");
$a2=array(0=>"orange",3=>"burgundy");
print_r(array_replace($a1,$a2));
?>
❮ PHP Array Reference