Latest web development tutorials

PHP array_multisort() 函數

PHP Array Reference 完整的PHP Array參考手冊

實例

返回一個升序排列的數組:

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

運行實例»

定義和用法

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 可选。规定数组。

技術細節

返回值: 如果成功則返回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);
?>

運行實例»


PHP Array Reference 完整的PHP Array參考手冊