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 相关文章推荐
PHP4实际应用经验篇(9)
Oct 09 PHP
php 全局变量范围分析
Aug 07 PHP
php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
Oct 31 PHP
PHP逐行输出(ob_flush与flush的组合)
Feb 04 PHP
php从数组中随机抽取一些元素的代码
Nov 05 PHP
利用curl 多线程 模拟 并发的详解
Jun 14 PHP
关于svn冲突的解决方法
Jun 21 PHP
一个简单且很好用的php分页类
Oct 26 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
Jul 22 PHP
跟我学Laravel之快速入门
Oct 15 PHP
php中heredoc与nowdoc介绍
Dec 25 PHP
php实现跨域提交form表单的方法【2种方法】
Oct 17 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
ThinkPHP字符串函数及常用函数汇总
2014/07/18 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
jQuery $.extend()用法总结
2014/06/15 Javascript
用javascript关闭本窗口不弹出询问框的方法
2014/09/12 Javascript
js限制文本框只能输入整数或者带小数点的数字
2015/04/27 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
2016/05/16 Javascript
JS采用绝对定位实现回到顶部效果完整实例
2016/06/20 Javascript
jQuery3.0中的buildFragment私有函数详解
2016/08/16 Javascript
jQuery ajaxForm()的应用
2016/10/14 Javascript
Bootstrap导航中表单简单实现代码
2017/03/06 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
2017/04/13 Javascript
jQuery列表检索功能实现代码
2017/07/17 jQuery
Vue.js仿微信聊天窗口展示组件功能
2017/08/11 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
2017/08/12 Javascript
在Vue中使用icon 字体图标的方法
2019/06/14 Javascript
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
Python列表与元组的异同详解
2019/07/02 Python
python之拟合的实现
2019/07/19 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
2019/09/25 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
使用pyecharts1.7进行简单的可视化大全
2020/05/17 Python
浅析Python 抽象工厂模式的优缺点
2020/07/13 Python
匡威荷兰官方网站:Converse荷兰
2018/10/24 全球购物
介绍一下linux的文件系统
2012/03/20 面试题
营销主管自我评价怎么写
2013/09/19 职场文书
中文专业毕业生自荐书范文
2014/01/04 职场文书
铁路工务反思材料
2014/02/07 职场文书
大学应届生的自我评价
2014/03/06 职场文书
团日活动总结报告
2014/06/25 职场文书
法定代表人授权委托书
2014/09/19 职场文书
企业安全隐患排查治理制度
2015/08/05 职场文书
毕业班工作总结
2015/08/10 职场文书
2019个人工作态度自我评价
2019/04/24 职场文书
2019毕业论文致谢词
2019/06/24 职场文书
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android