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

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

المراجعة الحالية بتاريخ 03:49، 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
)

انظر أيضًا

مصادر