وظيفة 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 مطلوب. تحديد مصفوفة.
ترتيب الترتيب

اختياري. تحديد ترتيب الترتيب. القيم المحتملة:

  • SORT_ASC - افتراضي. ترتيب تصاعدي (A-Z).
  • SORT_DESC - ترتيب تنازلي (Z-A).
نوع الترتيب

اختياري. تحديد نوع الترتيب. القيم المحتملة:

  • SORT_REGULAR - افتراضي. ترتيب كل عنصر بترتيب عادي (ASCII عادي، دون تغيير النوع).
  • SORT_NUMERIC - معالجة كل عنصر كعدد.
  • SORT_STRING - معالجة كل عنصر كحرف.
  • SORT_LOCALE_STRING - معالجة كل عنصر كحرف، بناءً على إعدادات اللغة الحالية (يمكن تغييرها باستخدام setlocale()).
  • SORT_NATURAL - معالجة كل عنصر كحرف، باستخدام ترتيب طبيعي مشابه لناتسورت().
  • SORT_FLAG_CASE - يمكن دمجها (بور أوت) مع SORT_STRING أو SORT_NATURAL لترتيب الأحرف، دون النظر في الحالة.
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);
؟

运行实例