Php/func array multisort

来自菜鸟教程
跳转至:导航、​搜索

PHP array_multisort()函数

❮PHP数组参考

以升序返回排序后的数组:

<?php

$a=array("Dog","Cat","Horse","Bear","Zebra");

array_multisort($a);

print_r($a);

?>

定义和用法

array_multisort()函数返回排序后的数组。您可以分配一个或多个阵列。该函数对第一个数组进行排序,然后对其他数组进行排序,然后,如果两个或多个值相同,则对下一个数组进行排序,依此类推。

注意: 字符串键将保留,但数字键将重新索引,从0开始并增加1。

注意: 您可以分配 sortordersorttype 每个数组之后的参数。如果未指定,则每个数组参数都使用默认值。

句法

array_multisort(array1, sortorder, sorttype, array2, array3, ...)

参数值

参数 描述
array1 需要。指定一个数组
sortorder

可选的。指定排序顺序。可能的值:

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

可选的。指定比较元素时要使用的类型。可能的值:

  • SORT_REGULAR-默认。正常比较元素(标准ASCII)
  • SORT_NUMERIC-将元素比较为数值
  • SORT_STRING-比较元素为字符串值
  • SORT_LOCALE_STRING-根据当前语言环境将元素比较为字符串(可以使用 setlocale() )
  • SORT_NATURAL-使用“自然顺序”将元素比较为字符串 natsort()
  • SORT_FLAG_CASE-可以与SORT_STRING或SORT_NATURAL组合(按位或)以区分大小写地对字符串进行排序
array2 可选的。指定一个数组
array3 可选的。指定一个数组

技术细节

返回值: 成功返回TRUE或失败返回FALSE
PHP版本: 4+
PHP更新日志: PHP 5.4:添加了排序类型SORT_NATURAL和SORT_FLAG_CASE

PHP 5.3:添加了排序类型SORT_LOCALE_STRING

更多例子

以升序返回排序后的数组:

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

❮PHP数组参考