PHP 技巧 * 根据二维数组中指定元素排序

方法封装:

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>

结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值