美文网首页
php二位数组排序

php二位数组排序

作者: 没有名字愿做一尘埃 | 来源:发表于2019-10-17 11:13 被阅读0次

    介绍一个比较好用的二位数组的多个字段的排序的方法。

    public function sortByCols($list, $field)
        {
            $sort_arr=array();
            $sort_rule='';
            foreach($field as $sort_field=>$sort_way){
                foreach($list as $key=>$val){
                    $sort_arr[$sort_field][$key]=$val[$sort_field];
                }
                $sort_rule .= '$sort_arr["' . $sort_field . '"],'.$sort_way.',';
            }
            if(empty($sort_arr)||empty($sort_rule)){ return $list; }
            eval('array_multisort('.$sort_rule.' $list);');//array_multisort($sort_arr['parent'], 4, $sort_arr['value'], 3, $list);
            return $list;
        }
    
    $hand = [['id' => 1, 'age' => 1, 'num' => 2], ['id' => 1, 'age' => 1, 'num' => 2], ['id' => 1, 'age' => 1, 'num' => 2]];
    
    $hand = $this->sortByCols($hand, array('age' => SORT_ASC, 'num' => SORT_ASC, 'id' => SORT_DESC));
    

    具体的效果就不说了,直接撸代码试试就知道了。
    这个方法不是最近使用的,整理之前的代码的时候发现的,不知道太懒了,没有记录下来

    相关文章

      网友评论

          本文标题:php二位数组排序

          本文链接:https://www.haomeiwen.com/subject/dajmmctx.html