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


Posted in PHP onMarch 13, 2018

本文实例讲述了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 相关文章推荐
在线增减.htpasswd内的用户
Oct 09 PHP
超强分页类2.0发布,支持自定义风格,默认4种显示模式
Jan 02 PHP
PHP和XSS跨站攻击的防范
Apr 17 PHP
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
Dec 02 PHP
php生成局部唯一识别码LUID的代码
Oct 06 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
Oct 17 PHP
thinkphp循环结构用法实例
Nov 24 PHP
PHP实现的简单mock json脚本分享
Feb 10 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
Jul 06 PHP
php基于PDO连接MSSQL示例DEMO
Jul 13 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
Feb 28 PHP
PHP中__set()实例用法和基础讲解
Jul 23 PHP
Laravel多用户认证系统示例详解
Mar 13 #PHP
PHP简单实现防止SQL注入的方法
Mar 13 #PHP
PHP+JS实现的实时搜索提示功能
Mar 13 #PHP
PHP实现的简单路由和类自动加载功能
Mar 13 #PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
Mar 12 #PHP
php把字符串指定字符分割成数组的方法
Mar 12 #PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
Mar 12 #PHP
You might like
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
使用dump函数,给php加断点测试
2013/06/25 PHP
destoon实现底部添加你是第几位访问者的方法
2014/07/15 PHP
PHP反射实际应用示例
2019/04/03 PHP
PJBlog插件 防刷新的在线播放器
2006/10/25 Javascript
比较详细的关于javascript 解析json的代码
2009/12/16 Javascript
Javascript 面向对象特性
2009/12/28 Javascript
javascript基础第一章 JavaScript与用户端
2010/07/22 Javascript
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
js内置对象 学习笔记
2011/08/01 Javascript
Javascript和Java获取各种form表单信息的简单实例
2014/02/14 Javascript
javascript设计模式之对象工厂函数与构造函数详解
2015/07/30 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
Vue2.0 多 Tab切换组件的封装实例
2017/07/28 Javascript
bootstrap响应式工具使用详解
2017/11/29 Javascript
vue devtools的安装与使用教程
2018/08/08 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
Vue 无限滚动加载指令实现方法
2019/05/28 Javascript
微信小程序实现签到弹窗动画
2020/09/21 Javascript
基于Django的python验证码(实例讲解)
2017/10/23 Python
Python3数据库操作包pymysql的操作方法
2018/07/16 Python
浅谈pycharm的xmx和xms设置方法
2018/12/03 Python
Python3使用PySynth制作音乐的方法
2019/09/09 Python
PyCharm上安装Package的实现(以pandas为例)
2020/09/18 Python
Pycharm同步远程服务器调试的方法步骤
2020/11/04 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
利用HTML5画出一个坦克的形状具体实现代码
2013/06/20 HTML / CSS
英国在线定做百叶窗网站:Make My Blinds
2020/08/17 全球购物
输入N,打印N*N矩阵
2012/02/20 面试题
师范大学音乐表演专业求职信
2013/10/23 职场文书
一份报关员的职业规划范文
2014/01/08 职场文书
《乡下孩子》教学反思
2014/04/17 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
租车协议书范本2014
2014/11/17 职场文书
运动会开幕式通讯稿
2015/07/18 职场文书
15个值得收藏的JavaScript函数
2021/09/15 Javascript