PHP DİZİLERİ BİRLEŞTİRME array_merge() FONKSİYONU

Uygulama içerisinde tanımladığımız iki diziyi birleştirebiliriz. array_merge() Belirtilen dizileri ardarda ekleyerek yeni bir dizi oluşturur. PHP array_merge () fonksiyonu aşağıdaki sözdizimine sahiptir.

Sözdizimi:

array_merge(array1,array2,array3...)

array1:Gereklidir.Dizi yazılır.

array2:isteğe bağlıdır. Dizi yazılır.

array3:isteğe bağlıdır. Dizi yazılır.

Belirtilen dizilerin elemanlarını bir öncekinin elemanlarının ardına eklemek suretiyle yeni bir dizi oluşturur ve bu diziyi döndürür. Fonksiyonu kullanırken unutmamamız gereken fonksiyonda dizi değişkenlerini hangi sırada yazdıysak bütün dizileri birleştirdiğimiz dizi değişkeninde de o sırayla kayıt edecektir.


<?php

$yaz=array("Kiraz","Armut","Şeftali","Karpuz","Kavun");

$kis=array("Portakal", "Mandalin", "Greyfurt", "Nar");

$meyveler	= array_merge($yaz, $kis);

echo '
' ;

print_r ($meyveler);  

echo '
' ; ?>

ÇIKTI:

Array
(
    [0] => Kiraz
    [1] => Armut
    [2] => Şeftali
    [3] => Karpuz
    [4] => Kavun
    [5] => Portakal
    [6] => Mandalin
    [7] => Greyfurt
    [8] => Nar
)

array_merge() ilişkilendirilebilir dizilerin anahtarlarını korur, bu yüzden bir ilişkilendirilmiş diziye yeni anahtar / değer çiftleri eklemek için kullanabilirsiniz:

<?php

$Site = array (    "title" =>   "PHP DİZİLER" , 

                   "yazar" =>   "Webcebir.com" , 
					  
                   "yıl" => 2014
			 
			  );

    $Site = array_merge ($Site, array ( "sayfa" => 100));
	
echo '
' ;

print_r ($Site);

echo '
' ; ?>

ÇIKTI:

Array
(
    [title] => PHP DİZİLER
    [yazar] => Webcebir.com
    [yıl] => 2014
    [sayfa] => 100
)

Eğer dizilerde aynı anahtara sahip elemanlar varsa sonra ki dizinin elemanı öncekinin yerine konur. Bu array_merge ilişkilendirilebilir dizilerin güncellenmesini sağlamış olursunuz.


<?php

$Site= array (   "title" =>   "PHP DİZİLER" , 
                 "yazar" =>   "Webcebir.com" , 
                 "yıl" => 2005);

$Site = array_merge ($Site, array ( "title"=>"Webcebir.com
                                              CSS DERS" ,

                                    "yıl" => 2014));
    
    echo '
';
	
    print_r ($Site);
	
    echo '
' ; ?>

ÇIKTI:

Array
(
    [title] => Webcebir.com CSS DERS
    [yazar] => Webcebir.com
    [yıl] => 2014
)

Diziler sayısal anahtarlar içeriyorsa aynı sayısal anahtarlı dizi öncekinin üzerine yazılmaz, sona eklenir.

 <?php

         $ders = array ( "Java" , "PHP" , "CSS" , "HTML" );
		 
         $ders = array_merge ($ders,array (0 =>  "MySQL" ));
		 
		 echo '
' ;

         print_r ( $ders );
 
         echo '
' ; ?>

ÇIKTI:

Array
(
    [0] => Java
    [1] => PHP
    [2] => CSS
    [3] => HTML
    [4] => MySQL
)

Eğer sadece bir dizi verilmişse ve dizi sayısal indisli ise indisler yeniden oluşturulur.

ÇIKTI:


<?php

 $Meyve= array (  4 =>   "Kiraz" , 
	  
	              2 =>   "Portakal" , 
						  
			      5 =>   "Elma" ,
						  
				  7 =>   "Kayısı" );  
						  
   $Meyve = array_merge ($Meyve);

   echo '
' ;

   print_r ($Meyve);

   echo '
' ; ?>

ÇIKTI:

Array
(
    [0] => Kiraz
    [1] => Portakal
    [2] => Elma
    [3] => Kayısı
)

Ortak dizi birleştirme


<?php

    $x = array ( "A" , "B" , "C" , "D" ); 
	
    $y= array ( "D" , "webcebir.com" , "CSS" );
	
    $bt = array_merge ($x, $y);

    echo '
' ;
	
	print_r($bt); 
	
	echo '
' ; ?>

ÇIKTI:

Array
(
    [0] => A
    [1] => B
    [2] => C
    [3] => D
    [4] => D
    [5] => webcebir.com
    [6] => CSS
)


Dizileri "+" oparatörü ilede birleştirilir. İik dizide anahtarlı dizileri yazar ikinci dizide aynı anahtarlı dizi bulursa yazmadan atlar.


<?php

$dizi1 = array ( "A" => 1, "B" => 7, "C" => 3);

$dizi2 = array ( "B" => 3, "C"=> 5, "D" => 8);

$dizi3 = $dizi1+$dizi2;

  echo '
' ;

  print_r ($dizi3);

  echo '
' ; ?>

ÇIKTI:

Array
(
    [A] => 1
    [B] => 7
    [C] => 3
    [D] => 8
)

Sefa Duruk Diyor ki 19/01/2015

Merhabalar. Ben şu şekilde bir sorunla karşılaştım; "array_merge" içindeki ilk değere "$veri[x][y]" şeklinde dizin ve alt dizin şeklinde ekleme yaptığım da, ikinci değerdeki 'x' => 'y' çıktısında 'x' anahtarını 0 olarak değiştirerek gösteriyor... Bu sorunu sadece dizin ve alt dizin şeklinde eklediğimde yaşıyorum. Sorun neden kaynaklanıyor acaba?

yönetici Diyor ki: 21/01/2015

Alt dizini dışarıda değişkene ata fonksiyon içinde sadece değişken ismini yaz.

ÖRNEK:

<?php

$okul["8/a"]["Ahmet"] = 90;

$ders=array("ders1"=>"Matematik","ders2"=>"Fen","ders3"=>"Türkçe");

$b =array_merge( $okul,$ders );

echo '<pre>' ;

print_r ($b);

echo '</pre>' ;

?>

ÇIKTI:

Array
(
    [8/a] => Array
        (
            [Ahmet] => 90
        )

    [ders1] => Matematik
    [ders2] => Fen
    [ders3] => Türkçe
)

yusuf Diyor ki 21/10/2016

array_marge array_push array_shift array_unshıft ın_array array_search array_slice ve short komutlarının es degerı bu komutları kullanmadan aynı ıslmı yapabılmek ıcın baska kodlar lazım acıldır yardımınızı beklıyouruz

yönetici Diyor ki: 22/10/2016

Yusuf, malesef bu fonksiyonların eşdeğeri yoktur.

Adınız

Eposta

Mesaj

4344

Güvenlik No

REKLAM
KATEGORİ
POPÜLER MAKALE