排序多维数组 [英] Sorting multidimensional array

查看:94
本文介绍了排序多维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从没有空多维数组值为null排序。我想,如果像街道地址字段,岗位数是零,就应该在最后一页显示排序我的多维数组。请帮帮我。先谢谢了。


解决方案

 函数array_sort($数组$上$为了= SORT_ASC){    $ new_array =阵列();
    $ sortable_array =阵列();    如果(计数($数组)大于0){
        的foreach($数组作为$ K => $ V){
            如果(is_array($ V)){
                的foreach($ V作为$ K2 => $ V2){
                    如果($ K2 == $上){
                        $ sortable_array [$ K] = $ V2;
                    }
                }
            }其他{
                $ sortable_array [$ K] = $ V;
            }
        }        开关($顺序){
            案例SORT_ASC:
                ASORT($ sortable_array);
            打破;
            案例SORT_DESC:
                arsort($ sortable_array);
            打破;
        }        的foreach($ sortable_array为$ K => $ V){
            $ new_array [$ K] = $阵列[$ k]的;
        }
    }    返回$ new_array;
}

沿该线的东西为我工作
(或多或少复制从 http://php.net/manual/en/function粘贴。 sort.php

I want to sort multidimensional array values from not null to null. I want to sort my multidimensional array if the address fields like street, post numbers are null then they should display in last page. Please help me. Thanks in advance.

解决方案

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;
}

something along the lines of that works for me (more or less copy pasted from http://php.net/manual/en/function.sort.php)

这篇关于排序多维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆