Birden fazla diziyi tek bir değişkende nasıl birleştirilir?
Birden Fazla Diziyi Tek Bir Değişkende Birleştirme
Yazılımlarımız gereği birden fazla diziyi tek bir değişken içerisinde gösterme gereği duyarsak eğer burada yardımımıza (+) operatörü imdadımıza yetişiyor.Fakat kullanırken çok dikakat etmemiz gereken bazı hususlar vardır.Örneğin birleştirilecek iki yada daha fazla dizi elemanlarımıza anahtar ataması yapmadıysak burada işler karmakarışık bir hal alıyor.Birinci dizinin anahtar değerleri ile ikinci dizinin anahtar değerleri çakışır ve her daim ilk diziyi baz alarak bir birleştirme işlemine tabii tutulur.Bu işlemin sıkıntısız ve doğru sonuç verebilmesi için kesinlikle her dizi elemanının birbirinden bağımsız anahtarı olması gerekir.Basit bir örnekle anlatalım;
[<?php
$isimler = array("Ahmet","Mehmet","Mustafa");
$renkler = array("Yeşil","Turuncu","Mavi","Kırmızı","Siyah");
$birlestir = $isimler + $renkler;
echo "<pre>";
print_r($birlestir);
echo "</pre>";
?>]
Yukarıdaki dizimizin çıktısı şu şekilde olacaktır;
Ahmet
Mehmet
Mustafa
Kırmızı
Siyah
Şeklinde olacaktır.Peki neden (Yeşil,Turuncu,Mavi) bu dizide yer almıyor diyecek olursanız üst kısımda bunun sebebinden bahsetmiştim.Bu renklerin neden dizide olmamasının sebebi ise her iki dizidede elemanlarımıza anahtar değeri atamadığımız için ilk dizimizinin tüm elemanları geçerli sayılıp,ikinci dizide ise ilk dizideki anahtar değerleriyle çakışanları almadı yani (0-1-2) anahtar değerine sahip (Yeşil,Turuncu,Mavi) değerleri alınmayıp sonrasında gelen (Kırmızı-Siyah) değerleri diziye rahat bir şekilde dahil edilmiş oldu.Bu yüzden eğer dizilerimizi birleştirme ihtiyacı duyarsak KESİNLİKLE dizi elamanlarımıza birbirinden farklı anahtar değerleri atamamız gerekir.Bu şekilde çok doğru bir şekilde birleştirme yapmış oluruz şimdi aynı örneğimize tüm dizi elemanlarımıza anahtar değerleri atayıp sonuca bakalım.;
[<?php
$isimler = array("isim1"=>"Ahmet","isim2"=>"Mehmet","isim3"=>"Mustafa");
$renkler = array("renk1"=>"Yeşil","renk2"=>"Turuncu","renk3"=>"Mavi","renk4"=>"Kırmızı","renk5"=>"Siyah");
$birlestir = $isimler + $renkler;
echo "<pre>";
print_r($birlestir);
echo "</pre>";
?>]
Yukarıdaki örnekte tam olarak doğru bir birleştirme işlemi yapmış bulunmaktayız.Çünkü tüm dizi elemanlarımızın birer anahtar değeri bulunduğu için ve anahtar değerlerimiz arasında bir çakışma meydana gelmediği için tüm dizi elemanlarımızı başarılı bir şekilde birleştirilmiş oldu.Bu işlemin sonucu şu şekilde olacaktır;
[isim1] => Ahmet
[isim2] => Mehmet
[isim3] => Mustafa
[renk1] => Yeşil
[renk2] => Turuncu
[renk3] => Mavi
[renk4] => Kırmızı
[renk5] => Siyah
Dizi elemanlarınıza anahtar değerleri verdiğiniz sürece en doğru ve sağlıklı çıktıyı alabilirsiniz.
COMMENTS