فنکشن array_multisort() PHP

مثال

یک آرایه مرتب شده به ترتیب افزایشی بازگرداند:

<?php
$a=array("Dog","Cat","Horse","Bear","Zebra");
array_multisort($a);;
print_r($a);
?>

نمونه اجرا

تعریف و استفاده

فunkشن array_multisort() بائع آرایه ترتیب داده شده می‌گردد. شما می‌توانید یک یا چند آرایه را وارد کنید. فنکشن ابتدا آرایه اول را ترتیب می‌دهد، سپس آرایه‌های دیگر، اگر دو یا چند مقدار مشابه باشند، آنگاه آرایه بعدی را ترتیب می‌دهد.

注释:字符串键名将被保留,但是数字键名将被重新索引,从 0 开始,并以 1 递增。

注释:您可以在每个数组后设置排序顺序和排序类型参数。如果没有设置,每个数组参数会使用默认值。

语法

array_multisort(array1,sorting order,sorting type,array2,array3...)
参数 描述
array1 必需。规定数组。
sorting order

可选。规定排列顺序。可能的值:

  • SORT_ASC - 默认。按升序排列 (A-Z)。
  • SORT_DESC - 按降序排列 (Z-A)。
sorting type

可选。规定排序类型。可能的值:

  • SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)。
  • SORT_NUMERIC - 把每一项作为数字来处理。
  • SORT_STRING - 把每一项作为字符串来处理。
  • SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
  • SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。
  • SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。
array2 可选。规定数组。
array3 可选。规定数组。

说明

array_multisort() 函数对多个数组或多维数组进行排序。

参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。

第一个参数是数组,随后的每一个参数可能是数组,也可能是下面的排序顺序标志(排序标志用于更改默认的排列顺序)之一:

  • 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);
?>

نمونه اجرا