网络编程
位置:首页>> 网络编程>> php编程>> PHP实现根据数组某个键值大小进行排序的方法

PHP实现根据数组某个键值大小进行排序的方法

作者:jzsfa  发布时间:2023-11-15 00:35:55 

标签: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"
}
}

PS:这里再为大家推荐一款关于排序的演示工具供大家参考:

在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys

希望本文所述对大家PHP程序设计有所帮助。

来源:http://blog.csdn.net/jzsfa/article/details/78224164

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com