الفرق بين المراجعتين لصفحة: «PHP/array diff»
ط إضافة عنوان الصفحة والتصنيفات |
لا ملخص تعديل |
||
سطر 2: | سطر 2: | ||
(PHP 4 >= 4.0.1, PHP 5, PHP 7) | (PHP 4 >= 4.0.1, PHP 5, PHP 7) | ||
تحسب الدالة array_diff() الفرق بين عدة مصفوفات. | تحسب الدالة <code>array_diff()</code> الفرق بين عدة مصفوفات. | ||
== الوصف == | == الوصف == | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
سطر 8: | سطر 8: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
تقارن الدالة array_diff() المصفوفة array1 بمصفوفة أخرى أو أكثر و تعيد القيم الموجودة فيها و التي ليست موجودة في المصفوفات الأخرى. | تقارن الدالة <code>array_diff()</code> المصفوفة <code>array1</code> بمصفوفة أخرى أو أكثر و تعيد القيم الموجودة فيها و التي ليست موجودة في المصفوفات الأخرى. | ||
== المعاملات == | == المعاملات == | ||
=== <code>array1</code> === | |||
المصفوفة التي ستقارن الدالة منها. | المصفوفة التي ستقارن الدالة منها. | ||
array2 | === <code>array2</code> === | ||
المصفوفة التي ستقارن الدالة بها. | المصفوفة التي ستقارن الدالة بها. | ||
… | === <code>…</code> === | ||
مزيد من المصفوفات لتقارن الدالة بها. | مزيد من المصفوفات لتقارن الدالة بها. | ||
سطر 27: | سطر 25: | ||
== أمثلة == | == أمثلة == | ||
المثال 1: مثال بسيط عن استخدام الدالة array_diff()<syntaxhighlight lang="php"> | المثال 1: مثال بسيط عن استخدام الدالة <code>array_diff()</code><syntaxhighlight lang="php"> | ||
<?php | <?php | ||
$array1 = array("a" => "green", "red", "blue", "red"); | $array1 = array("a" => "green", "red", "blue", "red"); | ||
$array2 = array("b" => "green", "yellow", "red"); | $array2 = array("b" => "green", "yellow", "red"); | ||
$result = array_diff($array1, $array2); | $result = array_diff($array1, $array2); | ||
print_r($result); | print_r($result); | ||
?> | |||
</syntaxhighlight> | </syntaxhighlight> | ||
العناصر المكررة بالمصفوفة $array1 تعامل كلها بنفس الطريقة. | العناصر المكررة بالمصفوفة <code>$array1</code> تعامل كلها بنفس الطريقة. | ||
نتيجة المثال السابق:<syntaxhighlight lang="php"> | نتيجة المثال السابق:<syntaxhighlight lang="php"> | ||
Array | |||
( | ( | ||
[1] => blue | |||
) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== ملاحظات == | == ملاحظات == | ||
يُعتبر عنصران من المصفوفات متساويان إذا و فقط إذا كان (string)$elem1 === (string)$elem2. بكلمات أخرى، إذا كان التمثيل النصي لهما متماثل تمامًا. | يُعتبر عنصران من المصفوفات متساويان إذا و فقط إذا كان <code>(string) $elem1 === (string) $elem2</code>. بكلمات أخرى، إذا كان التمثيل النصي لهما متماثل تمامًا. | ||
تتحقق هذه الدالة من بعد واحد فقط للمصفوفات متعددة الأبعاد. بالطبع يمكنك التحقق من أبعاد أعمق باستخدام array_diff_ukey($array1[0], $array2[0], 'callback_func') على سبيل المثال. | تتحقق هذه الدالة من بعد واحد فقط للمصفوفات متعددة الأبعاد. بالطبع يمكنك التحقق من أبعاد أعمق باستخدام <code>array_diff_ukey($array1[0], $array2[0], 'callback_func')</code> على سبيل المثال. | ||
== انظر أيضًا == | == انظر أيضًا == | ||
* الدالة array_diff_assoc(): تحسب الاختلاف بين المصفوفات مع استخدام تحقق إضافي بمقارنة الفهارس. | * الدالة <code>[[PHP/Function/array-diff-assoc|array_diff_assoc()]]</code>: تحسب الاختلاف بين المصفوفات مع استخدام تحقق إضافي بمقارنة الفهارس. | ||
* الدالة array_intersect(): تحسب التقاطع (intersection) بين المصفوفات. | * الدالة <code>[[PHP/Function/array-intersect|array_intersect()]]</code>: تحسب التقاطع (intersection) بين المصفوفات. | ||
* الدالة array_intersect_assoc(): تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي بمقارنة الفهارس. | * الدالة <code>[[PHP/Function/array-intersect-assoc|array_intersect_assoc()]]</code>: تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي بمقارنة الفهارس. | ||
== مصادر == | == مصادر == |
مراجعة 04:56، 14 مارس 2018
(PHP 4 >= 4.0.1, PHP 5, PHP 7)
تحسب الدالة array_diff()
الفرق بين عدة مصفوفات.
الوصف
array array_diff ( array $array1 , array $array2 [, array $... ] )
تقارن الدالة array_diff()
المصفوفة array1
بمصفوفة أخرى أو أكثر و تعيد القيم الموجودة فيها و التي ليست موجودة في المصفوفات الأخرى.
المعاملات
array1
المصفوفة التي ستقارن الدالة منها.
array2
المصفوفة التي ستقارن الدالة بها.
…
مزيد من المصفوفات لتقارن الدالة بها.
القيم المعادة
تعيد الدالة مصفوفةً جديدةً تحتوي على كل العناصر الموجودة في المصفوفة الأولى والتي ليست موجودةً في أيٍ من المصفوفات الأخرى.
أمثلة
المثال 1: مثال بسيط عن استخدام الدالة array_diff()
<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);
print_r($result);
?>
العناصر المكررة بالمصفوفة $array1
تعامل كلها بنفس الطريقة.
نتيجة المثال السابق:
Array
(
[1] => blue
)
ملاحظات
يُعتبر عنصران من المصفوفات متساويان إذا و فقط إذا كان (string) $elem1 === (string) $elem2
. بكلمات أخرى، إذا كان التمثيل النصي لهما متماثل تمامًا.
تتحقق هذه الدالة من بعد واحد فقط للمصفوفات متعددة الأبعاد. بالطبع يمكنك التحقق من أبعاد أعمق باستخدام array_diff_ukey($array1[0], $array2[0], 'callback_func')
على سبيل المثال.
انظر أيضًا
- الدالة
array_diff_assoc()
: تحسب الاختلاف بين المصفوفات مع استخدام تحقق إضافي بمقارنة الفهارس. - الدالة
array_intersect()
: تحسب التقاطع (intersection) بين المصفوفات. - الدالة
array_intersect_assoc()
: تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي بمقارنة الفهارس.