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 相关文章推荐
ThinkPHP写数组插入与获取最新插入数据ID实例
Nov 03 PHP
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
Dec 17 PHP
Laravel 5框架学习之Blade 简介
Apr 08 PHP
PHP时间和日期函数详解
May 08 PHP
深入讲解PHP的Yii框架中的属性(Property)
Mar 18 PHP
CodeIgniter连贯操作的底层原理分析
May 17 PHP
PHP实现的同步推荐操作API接口案例分析
Nov 30 PHP
PHP实现登陆表单提交CSRF及验证码
Jan 24 PHP
CentOS 上搭建 PHP7 开发测试环境
Feb 26 PHP
PHP实现的分页类定义与用法示例
Jul 05 PHP
PHP实现创建微信自定义菜单的方法示例
Jul 14 PHP
Laravel 5+ .env环境配置文件详解
Apr 06 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
利用 window_onload 实现select默认选择
2006/10/09 PHP
php遍历所有文件及文件夹的方法深入解析
2013/06/08 PHP
PHP完全二叉树定义与实现方法示例
2017/10/09 PHP
laravel框架 laravel-admin上传图片到oss的方法
2019/10/13 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
2019/12/31 PHP
JavaScript的面向对象(二)
2006/11/09 Javascript
IE8 中使用加速器(Activities)
2010/05/14 Javascript
PHP开发者必须掌握的6个关键字
2014/04/14 Javascript
JavaScript模拟可展开、拖动与关闭的聊天窗口实例
2015/05/12 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
Javascript 实现简单计算器实例代码
2016/10/23 Javascript
jQuery Validate表单验证插件的基本使用方法及功能拓展
2017/01/04 Javascript
koa-router源码学习小结
2018/09/07 Javascript
Vue.js 十五分钟入门图文教程
2018/09/12 Javascript
从vue源码看props的用法
2019/01/09 Javascript
vue弹出框组件封装实例代码
2019/10/31 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
Python WXPY实现微信监控报警功能的代码
2017/10/20 Python
python实现猜单词小游戏
2020/05/22 Python
python遍历小写英文字母的方法
2019/01/02 Python
基于jupyter代码无法在pycharm中运行的解决方法
2020/04/21 Python
python搜索算法原理及实例讲解
2020/11/18 Python
洲际酒店集团大中华区:IHG中国
2016/08/17 全球购物
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
趣天网日本站:Qoo10 JP
2019/09/18 全球购物
SEPHORA丝芙兰德国官方购物网站:化妆品、护肤品和香水
2020/01/21 全球购物
幼儿园园长岗位职责
2013/11/26 职场文书
如何编写优秀的食品项目创业计划书
2014/01/23 职场文书
宝宝满月酒主持词和仪式流程
2014/03/27 职场文书
新农村建设标语
2014/06/24 职场文书
县委常委班子对照检查材料思想汇报
2014/09/28 职场文书
2014年卫生工作总结
2014/11/27 职场文书
2014矛盾纠纷排查调处工作总结
2014/12/09 职场文书
2015新教师教学工作总结
2015/07/22 职场文书
python 下划线的多种应用场景总结
2021/05/12 Python