array_unique()‎

من موسوعة حسوب
< PHP

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

تحذف الدالة array_unique()‎ القيم المكررة من المصفوفة.

الوصف

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )

تحذف الدالة array_unique()‎ القيم المكررة من المصفوفة المُدخلة array وتعيد مصفوفةً جديدةً دون قيم مكررة.

لاحظ أن المفاتيح تُحفظ. إذا تساوت مقارنة عدة عناصر متساوية تحت راية sort_flags المعطاة، فسيُحتفظ بمفتاح وقيمة العنصر الأول المتساوي.

ملاحظة: يعد عنصران متساويان إذا وفقط إذا كان ‎(string) $elem1 === (string) $elem2 أي عندما يكون تمثيل السلسلة النصية (string) متطابقًا فسيُستخدم العنصر الأول.

المعاملات

array

المصفوفة المُدخلة.

sort_flags

يمكن استخدام المعامل الثاني الاختياري sort_flags لتعديل سلوك الترتيب باستخدام هذه القيم:

رايات أنواع الترتيب:

  • SORT_REGULAR: مقارنة العناصر بشكل طبيعي (دون تغيير الأنواع).
  • SORT_NUMERIC: مقارنة العناصر رقميًا.
  • SORT_STRING: مقارنة العناصر كسلاسل نصية.
  • SORT_LOCALE_STRING: مقارنة العناصر كسلاسل نصية استنادًا إلى المحلية الحالية (current locale).

القيم المعادة

تعيد الدالة array_unique()‎ المصفوفة المُرشّحة.

سجل التغييرات

الإصدار الوصف
5.2.10 تغيير القيمة الافتراضية لقيمة sort_flags مرةً أخرى إلى SORT_STRING.
5.2.9 إضافة القيمة الافتراضية لقيمة sort_flags الاختياري إلى SORT_REGULAR. وكانت هذه الدالة تستخدم قبل إصدار 5.2.9 القيمة SORT_STRING لترتيب المصفوفة داخليًا.

ملاحظات

ملاحظة: لاحظ أنَّ الدالة array_unique()‎ غير مخصصة للعمل على مصفوفات متعددة الأبعاد.

أمثلة

المثال 1: مثال على الدالة array_unique()

<?php
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>

سوف تكون مُخرجات المثال أعلاه كالتالي:

Array
(
    [a] => green
    [0] => red
    [1] => blue
)

مثال 2: مثال على الدالة array_unique()‎ والأنواع

<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>

سوف تكون مُخرجات المثال أعلاه كالتالي:

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

انظر أيضًا

مصادر