使用usort()对一个二维数组进行排序?(提示:要用到比较函数)

Original 2019-04-12 16:09:12 169
abstract:<?php //使用usort()对一个二维数组进行排序?(提示:要用到比较函数) $house=[     ['name'=>'北京','gdp'=>2,'price'=>50000],     ['name'=&
<?php
//使用usort()对一个二维数组进行排序?(提示:要用到比较函数)
$house=[
    ['name'=>'北京','gdp'=>2,'price'=>50000],
    ['name'=>'深圳','gdp'=>3,'price'=>45000],
    ['name'=>'上海','gdp'=>4,'price'=>55000],
    ['name'=>'广州','gdp'=>1,'price'=>48000],    
];
$comp=function($key){
    //使用use引用外部函数的参数
    return function ($a,$b) use($key){
        return strcmp($a[$key],$b[$key]);
    };
};
//usort($house,$comp('gdp'));//gdp排序
usort($house,$comp('gdp'));//房价排序
echo var_export($house,true);


Correcting teacher:天蓬老师Correction time:2019-04-12 16:58:58
Teacher's summary:php原生没有提供针对多维数组的排序函数 , 只能让咱们自己扩展... 不过, 利用已有的方法, 很容易实现的, 这里一定要注意usort()函数的参数

Release Notes

Popular Entries