الفرق بين المراجعتين لصفحة: «PHP/array diff»

من موسوعة حسوب
< PHP
ط إضافة عنوان الصفحة والتصنيفات
لا ملخص تعديل
سطر 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> بمصفوفة أخرى أو أكثر و تعيد القيم الموجودة فيها و التي ليست موجودة في المصفوفات الأخرى.


== المعاملات ==
== المعاملات ==
array1


=== <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
Array
 
(
(
    [1] => blue
)


   [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()‎: تحسب التقاطع بين المصفوفات مع استخدام تحقق إضافي بمقارنة الفهارس.

مصادر