وظيفة array_multisort() في PHP
مثال
返回一个升序排列的数组:
<?php $a=array("Dog","Cat","Horse","Bear","Zebra"); array_multisort($a);; print_r($a); ؟
تعريف والاستخدام
وظيفة array_multisort() تعود إلى ترتيب المجموعات. يمكنك إدخال مجموعة واحدة أو أكثر. يبدأ الدالة في ترتيب المجموعة الأولى، ثم المجموعات الأخرى، إذا كانت القيم متشابهة، فإنها ستقوم بترتيب المجموعة التالية.
ملاحظة:سيتم الحفاظ على الأسماء النصية للصفوف، ولكن سيتم إعادة ترقيم الأسماء الرقمية من 0 مع زيادة 1.
ملاحظة:يمكنك تعيين ترتيب الترتيب وترتيب الترتيب كمعامل بعد كل مصفوفة. إذا لم يتم تعيينها، فإن كل معامل مصفوفة سيستخدم القيمة الافتراضية.
النحو
array_multisort(array1,ترتيب الترتيب,نوع الترتيب,array2,array3...)
المعامل | وصف |
---|---|
array1 | مطلوب. تحديد مصفوفة. |
ترتيب الترتيب |
اختياري. تحديد ترتيب الترتيب. القيم المحتملة:
|
نوع الترتيب |
اختياري. تحديد نوع الترتيب. القيم المحتملة:
|
array2 | اختياري. تحديد مصفوفة. |
array3 | اختياري. تحديد مصفوفة. |
شرح
وظيفة array_multisort() ترتب مصفوفات متعددة أو مصفوفات متعددة الأبعاد.
المصفوفات في المعامل تُعتبر كعمود في الجدول وتُترتيب بترتيب السطر - هذا يشبه وظيفة جملة ORDER BY في SQL. المصفوفة الأولى هي المصفوفة الرئيسية التي يتم ترتيبها. إذا كانت القيم في الصفوف داخل المصفوفة متشابهة، فإن الترتيب يتم بناءً على القيمة في المصفوفة التالية التي يتم مقارنتها، وهكذا.
المعامل الأول هو مصفوفة، وكل معامل لاحق قد يكون مصفوفة أو إحدى علامات الترتيب التالية (علامات الترتيب تستخدم لتغيير الترتيب المسبق) واحدة:
- SORT_ASC - افتراضي، ترتيب تصاعدي (A-Z).
- SORT_DESC - ترتيب تنازلي (Z-A).
بعد ذلك يمكن تحديد نوع الترتيب:
- SORT_REGULAR - افتراضي. ترتيب كل عنصر بترتيب عادي.
- SORT_NUMERIC - ترتيب كل عنصر بترتيب رقمي.
- SORT_STRING - 将每一项按字母顺序排列。
技术细节
返回值: | 如果成功则返回 TRUE,如果失败则返回 FALSE。 |
PHP 版本: | 4+ |
更新日志: |
排序类型 SORT_NATURAL 和 SORT_FLAG_CASE 是在 PHP 5.4 中新增的。 排序类型 SORT_LOCALE_STRING 是在 PHP 5.3 中新增的。 |
更多实例
例子 1
返回一个升序排列的数组:
<?php $a1=array("Dog","Cat"); $a2=array("Fido","Missy"); array_multisort($a1,$a2);; print_r($a1); print_r($a2); ؟
例子 2
当两个值相同时如何排序:
<?php $a1=array("Dog","Dog","Cat"); $a2=array("Pluto","Fido","Missy"); array_multisort($a1,$a2);; print_r($a1); print_r($a2); ؟
例子 3
使用排序参数:
<?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); ؟
例子 4
合并两个数组,并按数字降序排列:
<?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); ؟