الفرق بين المراجعتين ل"PHP/array merge"

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث
ط (استبدال النص - 'PHP/Function/array' ب'PHP/array')
ط (استبدال النص - 'PHP/Operators/array' ب'PHP/array operators')
سطر 71: سطر 71:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
إذا أردت إضافة عناصر من مصفوفة إلى مصفوفة أخرى دون أن تمحو قيم المصفوفة الاولى ودون إعادة ترقيم المفاتيح العددية يمكنك استخدام [[PHP/Operators/array|معامل اتحاد المصفوفات]] <code>+</code>:<syntaxhighlight lang="php">
+
إذا أردت إضافة عناصر من مصفوفة إلى مصفوفة أخرى دون أن تمحو قيم المصفوفة الاولى ودون إعادة ترقيم المفاتيح العددية يمكنك استخدام [[PHP/array operators|معامل اتحاد المصفوفات]] <code>+</code>:<syntaxhighlight lang="php">
  
 
<?php
 
<?php
سطر 120: سطر 120:
 
* الدالة <code>[[PHP/array-replace-recursive|array_replace_recursive()‎]]</code>: تستبدل عناصر من المصفوفات المُمَرََرَة إلى المصفوفة الأولى بشكل تكراري (recursively).
 
* الدالة <code>[[PHP/array-replace-recursive|array_replace_recursive()‎]]</code>: تستبدل عناصر من المصفوفات المُمَرََرَة إلى المصفوفة الأولى بشكل تكراري (recursively).
 
* الدالة <code>[[PHP/array-combine|array_combine()‎]]</code>: تنشئ مصفوفة جديدة عن طريق استخدام إحدى المصفوفات للمفاتيح وأخرى للقيم.
 
* الدالة <code>[[PHP/array-combine|array_combine()‎]]</code>: تنشئ مصفوفة جديدة عن طريق استخدام إحدى المصفوفات للمفاتيح وأخرى للقيم.
* [[PHP/Operators/array|معاملات المصفوفات]].
+
* [[PHP/array operators|معاملات المصفوفات]].
  
 
== مصادر ==
 
== مصادر ==

مراجعة 03:32، 4 أبريل 2018

(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
)

انظر أيضًا

مصادر