NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

PHP - array_replace

Třída

Kořen \ Bez třídy

Metoda - array_replace

(PHP 5 >= 5.3.0, PHP 7)

Funkce nahradí hodnoty v prvním poli hodnotami z následujících polí.

  • Pokud se klíč z prvního pole (pole 1) nachází také v následujícím poli (pole 2), hodnota v prvním poli bude nahrazená hodnotou z pole 2.
  • V případě, že klíč existuje pouze v prvním poli, hodnota zůstane ponechána tak jak je.
  • Pokud se klíč nachází v poli 2, ale v hlavním poli (pole 1) se nenachází, bude v něm vytvořen.

Poznámka: funkce není rekurzivní, v případě potřeby nahrazování ve vícerozměrných polích použijeme funkci array_replace_recursive().

Procedurální

  • function array_replace (array $array1, array $array2, array $...) : array

Parametry

NázevDatový typVýchozí hodnotaPopis
$array1array

Pole, jehož hodnoty budou nahrazené.

$array2array

Pole, jehož hodnoty se použijí na nahrazení hodnot v prvním poli. Nahrazené budou pouze hodnoty se stejným klíčem. Pokud se klíč v prvním poli nenachází, bude v něm vytvořen.

$...array

Můžeme předat více polí, pro které platí to samé jako pro druhý parametr. Hodnoty z pozdějších polí nahradí hodnoty z předcházejících polí.

Návratové hodnoty

Vrací: array

Vrací pole s nahrazenými hodnotami. Při výskytu chyby vrací NULL.

Příklady

Ukázka 1: Máme dvě asociativní pole s různými hodnotami.

<?php
$pole1 = array("firstName" => "John", "lastName" => "Rambo", "age" => 30);
$pole2 = array("firstName" => "Chuck", "lastName" => "Norris", "bestMovie" => "Lone Wolf McQuade");
print_r(array_replace($pole1, $pole2));

echo "<br>";

// Přidáme třetí pole.
$pole3 = array("firstName" => "Rocky", "lastName" => "Balboa", "age" => 40, "bestMovie" => "Rocky 1");
print_r(array_replace($pole1, $pole2, $pole3));

Ukázka 2: Máme číselné (indexované) pole s různými hodnotami.

<?php
$usaAuta = array("Ford", "Cadillac");
$nemeckeAuta = array("BMW", "Mercedes", "Audi", "VW");
$japonskeAuta = array("Toyota", "Mazda", "Honda", "Subaru");
print_r(array_replace($usaAuta, $nemeckeAuta, $japonskeAuta));

echo "<br>";

// Zadáme některé číselné klíče a výsledek se změní.
$usaAuta = array("Ford", 8 => "Cadillac");
$nemeckeAuta = array("BMW", "Mercedes", 5 => "Audi", "VW");
$japonskeAuta = array("Toyota", "Mazda", "Honda", "Subaru");
print_r(array_replace($usaAuta, $nemeckeAuta, $japonskeAuta));

Související manuály

      • function array_merge (array $array1, array $...) : array
      Aktivity