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

yipeiwu_com7年前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相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结》

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

相关文章

PHP MSSQL 存储过程的方法

复制代码 代码如下:function generateDocCode() { $wf_id = self::WORKFLOW_ID; $doc_code = ""; $link = ms...

smarty表格换行实例

本文实例讲述了smarty表格换行的实现方法。分享给大家供大家参考。具体分析如下: 在foreach中加入 key=count 复制代码 代码如下:<table> ...

PHP实现的杨辉三角求解算法分析

PHP实现的杨辉三角求解算法分析

本文实例讲述了PHP实现的杨辉三角求解算法。分享给大家供大家参考,具体如下: ♥ 前言 对于 杨辉三角 是什么的问题,请参考百度百科的详细解释: 杨辉三角 杨辉三角,是二项...

sphinx增量索引的一个问题

但最近发现增量的总是搜索不到,今天看了下运行日志,有如下提示: [Sun Apr 17 19:30:01.876 2011] [ 3400] WARNING: rotating inde...

php foreach正序倒序输出示例代码

实现代码: // 正序 foreach($files as $file_num => $file) { if(is_file($directory.$file)){ //...