本文实例讲述了PHP实现根据数组某个键值大小进行排序的方法。分享给大家供大家参考,具体如下:
问题:针对给定数组的某个键的键值进行排序
解决方法:
'北京','nums'=>'200'),array('name'=>'上海','nums'=>'80'),array('name'=>'广州','nums'=>'150'),array('name'=>'深圳','nums'=>'70')
);
$a = array();
foreach($b as $key=>$val){
$a[] = $val['nums'];//这里要注意$val['nums']不能为空,不然后面会出问题
}
//$a先排序
rsort($a);
$a = array_flip($a);
$result = array();
foreach($b as $k=>$v){
$temp1 = $v['nums'];
$temp2 = $a[$temp1];
$result[$temp2] = $v;
}
//这里还要把$result进行排序,健的位置不对
ksort($result);
//然后就是你想看到的结果了
var_dump($result);
运行结果:
array(2) {
["name"]=>
string(4) "北京"
["nums"]=>
string(3) "200"
}
[1]=>
array(2) {
["name"]=>
string(4) "广州"
["nums"]=>
string(3) "150"
}
[2]=>
array(2) {
["name"]=>
string(4) "上海"
["nums"]=>
string(2) "80"
}
[3]=>
array(2) {
["name"]=>
string(4) "深圳"
["nums"]=>
string(2) "70"
}
}
PS:这里再为大家推荐一款关于排序的演示工具供大家参考:
在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《PHP数学运算技巧总结》
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://www.f2er.com/php/16259.html