对多维数组进行排序



我想对多维数组值进行从非null到null的排序。我想对我的多维数组进行排序,如果地址字段(如街道、邮政编码)为空,那么它们应该显示在最后一页。请帮帮我。提前谢谢。

function array_sort($array, $on, $order=SORT_ASC) {
    $new_array = array();
    $sortable_array = array();
    if (count($array) > 0) {
        foreach ($array as $k => $v) {
            if (is_array($v)) {
                foreach ($v as $k2 => $v2) {
                    if ($k2 == $on) {
                        $sortable_array[$k] = $v2;
                    }
                }
            } else {
                $sortable_array[$k] = $v;
            }
        }
        switch ($order) {
            case SORT_ASC:
                asort($sortable_array);
            break;
            case SORT_DESC:
                arsort($sortable_array);
            break;
        }
        foreach ($sortable_array as $k => $v) {
            $new_array[$k] = $array[$k];
        }
    }
    return $new_array;
}

类似的东西对我来说很管用(或多或少的副本粘贴自http://php.net/manual/en/function.sort.php)

我不确定PHP,但通常我会说,你需要对数组进行切片,以便将null集与非null集分开,然后根据你的标准对非null集进行排序,然后将其与null集合并。

相关内容

  • 没有找到相关文章

最新更新