<?php
$array[] = array("id"=>20,"name"=>"li");
$array[] = array("id"=>21,"name"=>"ai");
$array[] = array("id"=>20,"name"=>"ci");
$array[] = array("id"=>22,"name"=>"di");
foreach ($array as $key=>$value){
$age[$key] = $value['id'];
}
array_multisort($age,SORT_NUMERIC,SORT_ASC,$array);
print_r($array);
?>
運行結果:
Array (
[0] => Array ( [id] => 20 [name] => ci )
[1] => Array ( [id] => 20 [name] => li )
[2] => Array ( [id] => 21 [name] => ai )
[3] => Array ( [id] => 22 [name] => di )
)
定義和用法
array_multisort() 函數對多個數組或多維數組進行排序。
參數中的數組被當成一個表的列並以行來進行排序 - 這類似 SQL 的 ORDER BY 子句的功能。第一個數組是要排序的主要數組。數組中的行(值)比較爲相同的話,就會按照下一個輸入數組中相應值的大小進行排序,依此類推。
第一個參數是數組,隨後的每一個參數可能是數組,也可能是下面的排序順序標誌(排序標誌用於更改默認的排列順序)之一:
- SORT_ASC - 默認,按升序排列。(A-Z)
- SORT_DESC - 按降序排列。(Z-A)
隨後可以指定排序的類型:
- SORT_REGULAR - 默認。將每一項按常規順序排列。
- SORT_NUMERIC - 將每一項按數字順序排列。
- SORT_STRING - 將每一項按字母順序排列。
語法
array_multisort(array1,sorting order,sorting type,array2,array3...)
參數 | 描述 |
---|---|
array1 | 必需。規定輸入的數組。 |
sorting order | 可選。規定排列順序。可能的值是 SORT_ASC 和 SORT_DESC。 |
sorting type | 可選。規定排序類型。可能的值是SORT_REGULAR、SORT_NUMERIC和SORT_STRING。 |
array2 | 可選。規定輸入的數組。 |
array3 | 可選。規定輸入的數組。 |