PHP 8.1.0 RC 4 available for testing

array_merge

(PHP 4, PHP 5, PHP 7, PHP 8)

array_mergeBelirtilen dizileri ardarda ekleyerek yeni bir dizi oluşturur

Açıklama

array_merge(array ...$diziler): array

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.

Eğer dizilerde aynı anahtara sahip elemanlar varsa sonraki dizinin elemanı öncekinin yerine konur. Ancak, eğer diziler sayısal anahtarlar içeriyorsa sonraki değer öncekinin üzerine yazılmaz, sona eklenir.

Belirtilen diziler sayısal indisli ise sonuç dizisindeki indisler sıfırdan başlayarak yeniden oluşturulur.

Değiştirgeler

diziler

Katıştırılacak dizilerin değişken listesi.

Dönen Değerler

Elde edilen diziyi döndürür. Değiştirgesiz çağrılmışsa boş bir dizi döndürür.

Sürüm Bilgisi

Sürüm: Açıklama
7.4.0 Bu işlev değiştirgesiz çağrılabilir. Evvelce, en azından bir değiştirge gerekirdi.

Örnekler

Örnek 1 - array_merge() örneği

<?php
$array1 
= array("color" => "red"24);
$array2 = array("a""b""color" => "green""shape" => "trapezoid"4);
$result array_merge($array1$array2);
print_r($result);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [color] => green
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => trapezoid
    [4] => 4
)

Örnek 2 - Basit array_merge() örneği

<?php
$dizi1 
= array();
$dizi2 = array(=> "veri");
$sonuç array_merge($dizi1$dizi2);
?>

Sayısal anahtarların yeniden numaralanacağını unutmayın!

Array
(
    [0] => veri
)

İkinci dizideki elemanlar birinci diziye eklerken sirinci dizideki elemanların üzerine yazılmaması ve yeniden indislenmemesi için + (dizi birleştirme) işlecini kullanın:

<?php
$dizi1 
= array(=> 'sıfır_a'=> 'iki_a'=> 'üç_a');
$dizi2 = array(=> 'bir_b'=> 'üç_b'=> 'dört_b');
$sonuç $dizi1 $dizi2;

var_dump($sonuç);
?>

Birinci dizideki anahtarlar korunur. Bir anahtar iki dizide de mevcutsa birincisi kullanılır ikinci dizideki yok sayılır.

array(5) {
  [0]=>
  string(9) "sıfır_a"
  [2]=>
  string(5) "iki_a"
  [3]=>
  string(6) "üç_a"
  [1]=>
  string(5) "bir_b"
  [4]=>
  string(7) "dört_b"
}

Örnek 3 - array türünde olmayan dizilerle array_merge()

<?php
$ilk 
'foo';
$son = array(=> 'bar');
$sonuc array_merge((array)$ilk, (array)$son);
print_r($sonuc);
?>

Yukarıdaki örneğin çıktısı:

    Array
    (
        [0] => foo
        [1] => bar
    )

Ayrıca Bakınız

add a note add a note

User Contributed Notes 2 notes

up
264
Julian Egelstaff
12 years ago
In some situations, the union operator ( + ) might be more useful to you than array_merge.  The array_merge function does not preserve numeric key values.  If you need to preserve the numeric keys, then using + will do that.

ie:

<?php

$array1
[0] = "zero";
$array1[1] = "one";

$array2[1] = "one";
$array2[2] = "two";
$array2[3] = "three";

$array3 = $array1 + $array2;

//This will result in::

$array3 = array(0=>"zero", 1=>"one", 2=>"two", 3=>"three");

?>

Note the implicit "array_unique" that gets applied as well.  In some situations where your numeric keys matter, this behaviour could be useful, and better than array_merge.

--Julian
up
5
fsb at thefsb dot org
1 year ago
We no longer need array_merge() as of PHP 7.4.

    [...$a, ...$b]

does the same as

    array_merge($a, $b)

and can be faster too.

https://wiki.php.net/rfc/spread_operator_for_array#advantages_over_array_merge
To Top