Ce face array_replace
array_replace ia primul tablou și suprascrie, cheie cu cheie, valorile din tablourile următoare. Cheile care nu existau sunt adăugate.
Diferența față de array_merge: array_replace tratează și cheile numerice ca pe chei normale, deci nu le renumerotează și nu le adaugă la final. Varianta array_replace_recursive intră și în tablourile interioare.
Parametri
| Parametru | Descriere |
|---|---|
$array |
Tabloul de pornire. |
$replacements |
Tablourile ale căror valori le înlocuiesc pe cele existente. |
Ce returnează
Un tablou nou.
Exemple
Exemplul 1: Înlocuire după poziție
<?php
$zile = ["luni", "marți", "miercuri"];
print_r(array_replace($zile, [1 => "MARȚI"], [3 => "joi"]));
Rezultat
Array
(
[0] => luni
[1] => MARȚI
[2] => miercuri
[3] => joi
)
Exemplul 2: Diferența față de array_merge
<?php
$a = [0 => "Ana", 1 => "Mihai"];
$b = [0 => "Ioana"];
print_r(array_merge($a, $b));
print_r(array_replace($a, $b));
Rezultat
Array
(
[0] => Ana
[1] => Mihai
[2] => Ioana
)
Array
(
[0] => Ioana
[1] => Mihai
)
Greșeli frecvente
- Folosești
array_replacepe setări cu tablouri interioare și pierzi cheile interioare care nu sunt în al doilea tablou. Pentru asta existăarray_replace_recursive.
Comenzi înrudite
array_merge: Unește două sau mai multe tablouri într-unul singur.array_merge_recursive: Unește tablouri, inclusiv tablourile din interior. Valorile cu aceeași cheie text sunt păstrate împreună.