array_replace()
ve array_replace_recursive()
fonksiyonları, iki veya daha fazla diziyi birleştirmek için kullanılan PHP fonksiyonlarıdır. Bu fonksiyonlar, anahtarlar arasındaki değerleri güncellemek için kullanılır. İşte her iki fonksiyonun kullanımına dair örnekler:
array_replace()
Fonksiyonu
Bu fonksiyon, bir veya daha fazla diziyi birleştirir ve aynı anahtara sahip öğelerin değerlerini değiştirir. Eğer aynı anahtara sahip öğeler varsa, fonksiyon sırasıyla dizileri birleştirir ve son dizideki değeri kullanır.
<?php
// İki diziyi oluşturalım
$dizi1 = array("elma", "armut", "kiraz");
$dizi2 = array(0 => "karpuz", 1 => "çilek", 2 => "üzüm");
// array_replace() fonksiyonunu kullanarak dizileri birleştirelim
$birlesmis_dizi = array_replace($dizi1, $dizi2);
// Elde edilen birleştirilmiş diziyi ekrana yazdıralım
print_r($birlesmis_dizi);
?>
Bu örnekte, array_replace($dizi1, $dizi2)
ifadesi, $dizi1
ve $dizi2
dizilerini birleştirir ve aynı anahtara sahip öğelerin değerlerini günceller. Çıktı şu şekildedir:
Array
(
[0] => karpuz
[1] => çilek
[2] => üzüm
)
array_replace_recursive()
Fonksiyonu
Bu fonksiyon, çok boyutlu dizileri birleştirir ve aynı anahtara sahip öğelerin değerlerini değiştirir. Eğer aynı anahtara sahip öğeler çok boyutlu dizilerin içindeyse, fonksiyon rekürsif olarak işlem yapar.
<?php
// İki çok boyutlu diziyi oluşturalım
$dizi1 = array("meyveler" => array("elma", "armut"), "sebzeler" => array("havuç", "patates"));
$dizi2 = array("meyveler" => array("portakal", "üzüm"), "sebzeler" => array("brokoli", "patates"));
// array_replace_recursive() fonksiyonunu kullanarak dizileri birleştirelim
$birlesmis_dizi_recursive = array_replace_recursive($dizi1, $dizi2);
// Elde edilen birleştirilmiş diziyi ekrana yazdıralım
print_r($birlesmis_dizi_recursive);
?>
Bu örnekte, array_replace_recursive($dizi1, $dizi2)
ifadesi, $dizi1
ve $dizi2
çok boyutlu dizilerini birleştirir ve aynı anahtara sahip öğelerin değerlerini günceller. Çıktı şu şekildedir:
Array
(
[meyveler] => Array
(
[0] => portakal
[1] => üzüm
)
[sebzeler] => Array
(
[0] => brokoli
[1] => patates
)
)
Her iki fonksiyon da belirtilen dizileri birleştirir ve aynı anahtara sahip öğelerin değerlerini günceller, ancak array_replace_recursive()
fonksiyonu çok boyutlu dizilerle daha iyi çalışır ve iç içe geçmiş öğeleri de birleştirir.