إرجاع مصفوفة مرتبة بترتيب تصاعدي:
<?php$a=array("Dog"،"Cat"،"Horse"، "Bear"، "Zebra")؛array_multisort($a);print_r($a);?>تقوم الدالة array_multisort() بإرجاع مصفوفة مرتبة. يمكنك إدخال مصفوفة واحدة أو أكثر. تقوم الدالة بفرز المصفوفة الأولى أولا، ثم المصفوفات الأخرى، وإذا كانت قيمتان أو أكثر متماثلتين، فإنها تقوم بفرز المصفوفة التالية.
ملاحظة: سيتم الاحتفاظ بأسماء مفاتيح السلسلة، ولكن ستتم إعادة فهرسة أسماء المفاتيح الرقمية، بدءًا من 0 وزيادة بمقدار 1.
ملاحظة: يمكنك تعيين ترتيب الفرز ومعلمات نوع الفرز بعد كل صفيف. إذا لم يتم تعيينها، فستستخدم كل معلمة صفيف قيمتها الافتراضية.
array_multisort( array1,ترتيب الفرز,نوع الفرز,array2,array3... )
المعلمة | يصف |
---|---|
صفيف1 | مطلوب. يحدد مصفوفة. |
ترتيب الفرز | خياري. تحديد ترتيب الفرز. القيم المحتملة: SORT_ASC - الافتراضي. فرز بترتيب تصاعدي (AZ). SORT_DESC - فرز بترتيب تنازلي (ZA). |
نوع الفرز | خياري. يحدد نوع الفرز. القيم المحتملة: SORT_REGULAR - افتراضي. ضع كل عنصر بترتيب منتظم (معيار ASCII، لا تغير النوع). SORT_NUMERIC - تعامل مع كل عنصر كرقم. SORT_STRING - تعامل مع كل عنصر كسلسلة. SORT_LOCALE_STRING - تعامل مع كل عنصر كسلسلة، بناءً على اللغة الحالية (يمكن تغييرها باستخدام setlocale()). SORT_NATURAL - تعامل مع كل عنصر كسلسلة، باستخدام الفرز الطبيعي مثل natsort(). SORT_FLAG_CASE - يمكن دمجه (بطريقة البت OR) مع SORT_STRING أو SORT_NATURAL لفرز السلاسل، بشكل غير حساس لحالة الأحرف. |
array2 | خياري. يحدد مصفوفة. |
array3 | خياري. يحدد مصفوفة. |
قيمة الإرجاع: | إرجاع TRUE في حالة النجاح وFALSE في حالة الفشل. |
---|---|
نسخة PHP: | 4+ |
سجل التحديث: | أنواع الفرز SORT_NATURAL وSORT_FLAG_CASE جديدة في PHP 5.4. نوع الفرز SORT_LOCALE_STRING جديد في PHP 5.3. |
إرجاع مصفوفة مرتبة بترتيب تصاعدي:
<?php$a1=array("Dog"،"Cat");$a2=array("Fido"،"Missy");array_multisort($a1,$a2);print_r($a1);print_r($a2 );؟>كيفية الفرز عندما تكون القيمتان متماثلتين:
<?php$a1=array("Dog"،Dog"،"Cat");$a2=array("Pluto"،"Fido"،"Missy");array_multisort($a1,$a2);print_r( $a1);print_r($a2);?>استخدام معلمات الفرز:
<?php$a1=array("Dog"،"Dog"،"Cat");$a2=array("Pluto"،"Fido"،"Missy");array_multisort($a1,SORT_ASC,$a2,SORT_DESC );print_r($a1);print_r($a2);?>دمج صفيفين وفرزهما عدديا بترتيب تنازلي:
<?php$a1=array(1,30,15,7,25);$a2=array(4,30,20,41,66);$num=array_merge($a1,$a2);array_multisort($ num,SORT_DESC,SORT_NUMERIC);print_r($num);?>