当前位置:

简单几句码实现PHP中对二维数组的排序

温馨提示:本文共752个字,读完预计2分钟。

PHP中对二维数组的排序

   /*
     * 二维数组排序
     * */
    public function zk_sort_array_multi(array &$arr, array $keys, array $order)
    {
        //校验参数
        if ( count($keys) == ($times = count($order)) ) {
            for ( $i = 0, $j = 0; $j < $times; $i += 2, $j++ ) {
                foreach ( $arr as $k => $v ) {
                    //原数组是否存在该字段
                    if ( isset($v[$keys[$j]]) ) {
                        $params[$i][] = $v[$keys[$j]];    //TODO 中文排序支持 //$params[$i][] = iconv(‘UTF-8’, ‘GBK’, $v[$keys[$j]]);
                    } else {
                        return false;
                    }
                }
                if ( strtoupper($order[$j]) == 'ASC' ) {
                    $params[$i + 1] = SORT_ASC;
                } else {
                    $params[$i + 1] = SORT_DESC;
                }
            }
            $params[] = &$arr;
            return call_user_func_array('array_multisort', $params);
        } else {
            return false;
        }
    }

本文链接:,转发请注明来源!

我要说两句

抱歉,您需要登录后才能留言。