1.一維數組排序
以下圈起來的方法,則爲一維數組排序
2.二維數組:利用內置方法(array_multisort)
/**
* 二維數組排序
* @param array $array 二維數組
* @param string $sort_key 需要排序的字段鍵名
* @param int $sort_order 排序方式(SORT_ASC:升序、SORT_DESC:降序)
* @param int $sort_flags 排序類型(SORT_NUMERIC:數字大小排序、SORT_STRING:字符串比較)
* @return array|bool
*/
function arr2sort($array = [], $sort_key = '', $sort_order = SORT_ASC, $sort_flags = SORT_NUMERIC){
if(empty($array))
return false;
foreach ($array as $val){
if(!is_array($val))
return false;
$arr_kes[] = $val[$sort_key];
}
array_multisort($arr_kes,$sort_order,$sort_flags,$array);
return $array;
}
$arr = [
['name' => '張三','age' => 18],
['name' => '李四','age' => 16],
['name' => '王五','age' => 20],
['name' => '李麗','age' => 24],
];
$result = $this->arr2sort($arr,'age',SORT_DESC,SORT_NUMERIC);
dump($result);