php比较多维数组中值的大小排序实现代码


Posted in PHP onSeptember 08, 2012

如果值没有重复的情况,可以先用array_flip()来交换键和值,然后krsort(),最后再array_flip()交换回来,就可以比较大小了。如果要截取数组,可用array_slice()。

如果有值重复的情况,就要用到一些排序算法了,不过php有很强大的函数uasort(),使用自定义的比较函数对数组中的值进行排序并保持索引关联,usort()则会重建索引。

function cmp($a, $b){ 
if ($a["vote_num"] == $b["vote_num"]) { 
return 0; 
} 
return ($a["vote_num"] > $b["vote_num"]) ? -1 : 1; 
} $arr = Array 
( 
0 => Array 
( 
o_id => 1861, 
o_name => 2, 
o_pic => 'http://g.3water.com/image.gif' , 
o_detail => 人人, 
vote_num => 1 
), 
1 => Array 
( 
o_id => 1844, 
o_name => 芭比, 
o_pic => 'http://upload.3water.com/game_image/dfxxz/dfVIP.files/shenxiandao.jpg', 
o_detail => 也是美女呢, 
vote_num => 2 
), 
2 => Array 
( 
o_id => 1843, 
o_name => 程程, 
o_pic => 'http://g.3water.com./upload_img/2011-06/31554_4d0088da7a61ad9c8c02a530be94d98e.png', 
o_detail => 美女哦, 
vote_num => 3 
) 
); 
uasort($arr, ”cmp“); 
echo ‘< pre style="text-align:left" >'; 
print_r ($arr); 
echo ‘< / pre >';

返回
Array 
( 
[2] => Array 
( 
[o_id] => 1843 
[o_name] => 程程 
[o_pic] => http://g.3water.com./upload_img/2011-06/31554_4d0088da7a61ad9c8c02a530be94d98e.png 
[o_detail] => 美女哦 
[vote_num] => 3 
) 
[1] => Array 
( 
[o_id] => 1844 
[o_name] => 芭比 
[o_pic] => http://upload.3water.com/game_image/dfxxz/dfVIP.files/shenxiandao.jpg 
[o_detail] => 也是美女呢 
[vote_num] => 2 
) 
[0] => Array 
( 
[o_id] => 1861 
[o_name] => 2 
[o_pic] => http://g.3water.com/image.gif 
[o_detail] => 人人 
[vote_num] => 1 
) 
)
PHP 相关文章推荐
PHP 将图片按创建时间进行分类存储的实现代码
Jan 05 PHP
探讨file_get_contents与curl效率及稳定性的分析
Jun 06 PHP
PHP SPL使用方法和他的威力
Nov 12 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
Mar 13 PHP
详谈PHP编码转换问题
Jul 28 PHP
Zend Framework连接Mysql数据库实例分析
Mar 19 PHP
php从数据库中读取特定的行(实例)
Jun 02 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
Nov 13 PHP
总结PHP代码规范、流程规范、git规范
Jun 18 PHP
PHP精确到毫秒秒杀倒计时实例详解
Mar 14 PHP
PHP大文件切割上传功能实例分析
Jul 01 PHP
PHP代码覆盖率统计详解
Jul 22 PHP
JSON在PHP中的应用介绍
Sep 08 #PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
Sep 07 #PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
Sep 07 #PHP
用C/C++扩展你的PHP 为你的php增加功能
Sep 06 #PHP
初步介绍PHP扩展开发经验分享
Sep 06 #PHP
php写的带缓存数据功能的mysqli类
Sep 06 #PHP
一个PHP并发访问实例代码
Sep 06 #PHP
You might like
JS版网站风格切换实例代码
2008/10/06 Javascript
Extjs ajax同步请求时post方式参数发送方式
2009/08/05 Javascript
jQuery+ajax实现顶一下,踩一下效果
2010/07/17 Javascript
分享20款好玩的jQuery游戏
2011/04/17 Javascript
JS中setTimeout()的用法详解
2013/04/14 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
nodejs开发微博实例
2015/03/25 NodeJs
JS实现霓虹灯文字效果的方法
2015/08/06 Javascript
ECharts仪表盘实例代码(附源码下载)
2016/02/18 Javascript
你不需要jQuery(三) 新AJAX方法fetch()
2016/06/14 Javascript
AngularJS实现与Java Web服务器交互操作示例【附demo源码下载】
2016/11/02 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
10道典型的JavaScript面试题
2017/03/22 Javascript
vue移动UI框架滑动加载数据的方法
2018/03/12 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
2020/07/07 Javascript
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
2014/08/15 Python
python如何实现excel数据添加到mongodb
2015/07/30 Python
在Python的while循环中使用else以及循环嵌套的用法
2015/10/14 Python
彻底理解Python list切片原理
2017/10/27 Python
Python最火、R极具潜力 2017机器学习调查报告
2017/12/11 Python
python 正确保留多位小数的实例
2018/07/16 Python
django 控制页面跳转的例子
2019/08/06 Python
Python猜数字算法题详解
2020/03/01 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
Python学习之time模块的基本使用
2021/01/17 Python
英国马匹装备和马术用品购物网站:Equine Superstore
2019/03/03 全球购物
生物专业个人自荐信范文
2013/11/29 职场文书
2015年检察院个人工作总结
2015/05/20 职场文书
英语专业毕业论文答辩开场白
2015/05/27 职场文书
2015中秋节晚会主持词
2015/07/01 职场文书
工人先锋号事迹材料(2016精选版)
2016/03/01 职场文书
导游词之天下银坑景区
2019/11/21 职场文书
浅谈Laravel中使用Slack进行异常通知
2021/05/29 PHP
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python
使用@Value值注入及配置文件组件扫描
2021/07/09 Java/Android