array_merge()
(PHP 4, PHP 5, PHP 7)
تدمج الدالة array_merge()
مصفوفتين أو أكثر.
الوصف
array array_merge ( array $array1 [, array $... ] )
تدمج الدالة عناصر مصفوفة أو أكثر بحيث تضيف عناصر المصفوفة إلى عناصر المصفوفة السابقة لها. تعيد الدالة المصفوفة الناتجة والمحتوية على عناصر كل المصفوفات.
إذا احتوت المصفوفة على مفاتيح متماثلة في التمثيل النصي، فستضيف الدالة العناصر المرتبطة بالمفاتيح التالية لتأخذ مكان القيم السابقة المسجلة مع المفتاح. إذا احتوت المصفوفة على نفس المفتاح العددي فإن قيمة العنصر المرتبط به لن تمحو قيمة العنصر الأول وإنما ستُضاف معه.
ستعيد الدالة ترقيم المفاتيح العددية الموجودة بالمصفوفات تصاعديًا بدءًا من العدد صفر في المصفوفة المعادة.
المعاملات
array1
المصفوفة التي ستدمجها الدالة.
…
قائمة متغيرة من المصفوفات التي ستدمجها الدالة.
القيم المعادة
تعيد مصفوفة من القيم الناتجة عن دمج المصفوفات المُمرَّرة إلى الدالة.
أمثلة
المثال 1: مثال بسيط عن الدالة array_merge()
<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>
نتيجة المثال السابق:
Array
(
[color] => green
[0] => 2
[1] => 4
[2] => a
[3] => b
[shape] => trapezoid
[4] => 4
)
المثال 2: مثال بسيط آخر عن الدالة array_merge()
<?php
$array1 = array();
$array2 = array(1 => "data");
$result = array_merge($array1, $array2);
?>
لا تنسَ أنَّ المفاتيح العددية سيُعاد ترقيمها.
Array
(
[0] => data
)
إذا أردت إضافة عناصر من مصفوفة إلى مصفوفة أخرى دون أن تمحو قيم المصفوفة الاولى ودون إعادة ترقيم المفاتيح العددية يمكنك استخدام معامل اتحاد المصفوفات +
:
<?php
$array1 = array(0 => 'zero_a', 2 => 'two_a', 3 => 'three_a');
$array2 = array(1 => 'one_b', 3 => 'three_b', 4 => 'four_b');
$result = $array1 + $array2;
var_dump($result);
?>
ستحافظ الدالة على مفاتيح المصفوفة الأولى. إذ احتوت كلتا المصفوتان على نفس المفتاح، فستضيف الدالة القيمة المرتبطة بالمفتاح في المصفوفة الأولى وستتجاهل القيم التالية.
array(5) {
[0]=>
string(6) "zero_a"
[2]=>
string(5) "two_a"
[3]=>
string(7) "three_a"
[1]=>
string(5) "one_b"
[4]=>
string(6) "four_b"
}
المثال 3: الدمج مع عناصر ليست من النوع array
<?php
$beginning = 'foo';
$end = array(1 => 'bar');
$result = array_merge((array)$beginning, (array)$end);
print_r($result);
?>
نتيجة المثال السابق:
Array
(
[0] => foo
[1] => bar
)
انظر أيضًا
- الدالة
array_merge_recursive()
: تدمج مصفوفة واحدة أو أكثر بشكل تكراري. - الدالة
array_replace_recursive()
: تستبدل عناصر من المصفوفات المُمَرََرَة إلى المصفوفة الأولى بشكل تكراري (recursively). - الدالة
array_combine()
: تنشئ مصفوفة جديدة عن طريق استخدام إحدى المصفوفات للمفاتيح وأخرى للقيم. - معاملات المصفوفات.