php 多维度数组排序

/**
     * 对这样的数组 按照 c 进行排序
     *
        [
            [
                a=>0,
                b=>[
                    c=>0,
                    d=>0
                ]
            ],
        [...],
        ]
     *
     */
    function arraySequence($array, $field, $keys='', $sort = 'SORT_DESC')
    {
        $arrSort = array();
        foreach ($array as $uniqid => $row) {

            foreach ($row as $key => $value) {
                $arrSort[$key][$uniqid] = $value;
            }

        }
        array_multisort($arrSort[$field], $sort, $array);
        return $array;
    }
阅读 1.4k
1 个回答

一句话搞定


usort($arr, function($d1, $d2){
    return $d1['b']['c'] - $d2['b']['c'];
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题