来源:未知 时间:2018-03-15 14:28 作者:小飞侠 阅读:次
[导读] 这篇文章主要介绍了PHP实现根据数组某个键值大小进行排序的方法,涉及php针对数组的遍历、排序等相关操作技巧,需要的朋友可以参考下...
|
本文实例讲述了PHP实现根据数组某个键值大小进行排序的方法。分享给大家供大家参考,具体如下: 问题:针对给定数组的某个键的键值进行排序 解决方法: //$a是排序数组,$b是要排序的数据集合,$result是最终结果
$b = array(
array('name'=>'北京','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(4) {
[0]=>
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"
}
} |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com