方法封裝:
if (!function_exists('sort_for_arrays')) {
/**
* 二維數組根據某個字段排序
* @param array $array 要排序的數組
* @param string $key 要排序的鍵字段
* @param string $sort 排序類型 SORT_ASC SORT_DESC
* @return array 排序後的數組
*/
function sort_for_arrays($array, $key, $sort = SORT_DESC)
{
$keys = array_column($array,$key);
array_multisort($keys, $sort, $array);
return $array;
}
}
測試:
$before_arrs = [
["id" => 2,"name" => "bbb"],
["id" => 1,"name" => "aaa"],
["id" => 3,"name" => "ccc"],
];
$after_arrs = sort_for_arrays($before_arrs,"id");
?>
<script type="text/javascript">
console.log("分組前:",<?php echo json_encode($before_arrs); ?>)
console.log("分組後:",<?php echo json_encode($after_arrs); ?>)
</script>
結果: