php数组键值排序

 代码片段如下:      
  $data = $villageDb->alias(‘a‘)->join(‘br_esf_village_expand as b on a.villageId=b.villageId‘, ‘LEFT‘)->where($where)->limit($Page->firstRow . ‘,‘ . $Page->listRows)->select();
        $houseDb=D("House");
        foreach($data as $key => $val){
            $quyuname = ‘‘;
            if ($val[‘fangAreaId‘]) {
                $quyuname = $areaDb->getAreaName($val[‘fangAreaId‘]);
            }
            $shangquanname = ‘‘;
            if ($val[‘fangTradingId‘]) {
                $shangquanname = $areaDb->getShangName($val[‘fangTradingId‘]);
            }
            $data[$key][‘quyuname‘] = $quyuname;
            $data[$key][‘shangquanname‘] = $shangquanname;
            $data[$key][‘ispublish‘]=$houseDb->ishouseCount($val[‘villageId‘]);
            $data[$key][‘nopublish‘]=$houseDb->nohouseCount($val[‘villageId‘]);
        }
        $d=$this->multi_array_sort($data, ‘ispublish‘); //键值ispublish排序
        
            $this->changename($fangareaId); //传值
            $this->assign(‘quyu‘, $quyu)    //得到区域          
                ->assign(‘sqData‘, $this->changename($fangareaId))    //搜索赋值商圈
                ->assign(‘data‘, $d); // 得到商圈
            $this->display(); 
    }
    //二维数组键值排序
    function multi_array_sort($multi_array, $sort_key, $sort = SORT_DESC) {
            if (is_array($multi_array)) {
                 foreach ($multi_array as $row_array) {
                 if (is_array($row_array)) {
                 $key_array[] = $row_array[$sort_key];
                 } else {
                    return FALSE;
                 }
                }
                } else {
                return FALSE;
                }
                array_multisort($key_array, $sort, $multi_array);
                return $multi_array;
                }
时间: 2024-11-13 15:37:53

php数组键值排序的相关文章

PHP 按二维数组的键值排序

/** * 按二维数组的键值排序 * @param unknown $array 二维数组 * @param unknown $key 二维数组的键值 * @param string $order 升序/降序 * @return multitype:unknown 返回排序后的数组 */ public static function arr_sort_in_key($array, $key, $order = "asc") { $arr_nums = $arr = array(); f

实现对多维数组按照某个键值排序的两种方法(array_multisort和array_sort)

实现对多维数组按照某个键值排序的两种解决方法(array_multisort和array_sort): 第一种:array_multisort()函数对多个数组或多维数组进行排序. //对数组$hotcat按照count键值大小降序进行排序: $hotcat =array( array('1501'=>array('catid'=>'1546','catname'=>'续梦PHP 一级','count'=>'588')), array('1501'=>array('catid

PHP编程实现多维数组按照某个键值排序的方法

1.array_multisort()函数对多个数组或多维数组进行排序. //对数组$hotcat按照count键值大小降序进行排序: $hotcat =array(  array('1501'=>array('catid'=>'1546','catname'=>'数组排序 一级','count'=>'588')),  array('1501'=>array('catid'=>'1546','catname'=>'数组排序二级','count'=>'588'

Android HashMap按照键值排序的两种方法

有如下一个 Map 对象: HashMap<Integer, String> map = new HashMap<Integer, String>(); map.put(3,"A"); map.put(2,"B"); map.put(1,"C"); 键值排序第一种方法: Object[] key = map.keySet().toArray(); Arrays.sort(key); for(int i = 0; i<

php 二位数组按某个键值排序

$arr=[ array( 'name'=>'小坏龙', 'age'=>28 ), array( 'name'=>'小坏龙2', 'age'=>14 ), array( 'name'=>'小坏龙3', 'age'=>59 ), array( 'name'=>'小坏龙4', 'age'=>23 ), array( 'name'=>'小坏龙5', 'age'=>23 ), array( 'name'=>'小坏龙6', 'age'=>21

php数组键值操作和数组统计函数-函数

1.数组函数//作用:提供了很多官方写的很多有用的代码段,提高编写速度 1)数组的键值操作函数 array_values();//获取数组中的值 array_keys();//获取数组中的键 in_array();//检查一个值是否在数组中 array_flip();//键和值对调 array_reverse();//数组中的值反转 模拟获取key的数值<?php $arr=array ("name"=>"user1","age"=&

PHP数组键值使用单引号和双引号和无符号的区别

方法/步骤 1 第一种:$array['key']此单引号键值模式可以直接被解析为一个数组即$array 第二种:$array["key"]此双引号键值模式,先执行的是"key",判断是否有定义的PHP变量存在,在解析为数组即$array 第三种:$array[key]此为无单双引号键值模式,会先分析局部作用于是否有key键值定义的常量存在,即使用define('key','val'),然后解析数组即$array 2 其他情况:例如$array["$a&q

返回数组中的最大值和删除数组重复值-排序

//数组中最大值function getMax(arr){ //取该数组第一个值为最大值 var max=arr[0]; for(var i=0;i<arr.length;i++){ if(arr[i]>max){ max=arr[i] } } return max;} console.log(getMax([2,98,10,88])) /*--------------------------------------------------------------------*///删除数组重

php二维数组按照键值排序的方法

//按照传入数组中的num倒序 public function numdesc($array,$key="num",$order="desc"){ $arr_nums=$arr=array(); foreach($array as $k=>$v){ $arr_nums[$k]=$v[$key]; } if($order=='asc'){ asort($arr_nums); }else{ arsort($arr_nums); } foreach($arr_num