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代码
Feb 16 PHP
php 过滤器实现代码
Aug 09 PHP
一些需要禁用的PHP危险函数(disable_functions)
Feb 23 PHP
批量去除PHP文件中bom的PHP代码
Mar 13 PHP
PHP中header和session_start前不能有输出原因分析
Jan 11 PHP
php中将字符串转为HTML的实体引用的一个类
Feb 03 PHP
php调用google接口生成二维码示例
Apr 28 PHP
php上传文件常见问题总结
Feb 03 PHP
PHP模拟asp中response类实现方法
Aug 08 PHP
php分页查询的简单实现代码
Mar 14 PHP
yii2项目实战之restful api授权验证详解
May 20 PHP
PHP基于面向对象实现的留言本功能实例
Apr 04 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
提高PHP编程效率的53个要点(经验小结)
2010/09/04 PHP
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
2012/04/09 PHP
PHP页面间传递值和保持值的方法
2016/08/24 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
PHP 实现手机端APP支付宝支付功能
2018/06/07 PHP
PHP获取星期几的常用方法小结
2018/12/18 PHP
php抽象类和接口知识点整理总结
2019/08/02 PHP
IE图片缓存document.execCommand(&quot;BackgroundImageCache&quot;,false,true)
2011/03/01 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
2015/03/04 Javascript
web前端开发JQuery常用实例代码片段(50个)
2015/08/28 Javascript
Bootstrap入门书籍之(一)排版
2016/02/17 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
基于jQuery实现文字打印动态效果
2017/04/21 jQuery
Angular 表单控件示例代码
2017/06/26 Javascript
动态加载权限管理模块中的Vue组件
2018/01/16 Javascript
vue.js图片转Base64上传图片并预览的实现方法
2018/08/02 Javascript
vue调试工具vue-devtools安装及使用方法
2018/11/07 Javascript
JavaScript数组特性与实践应用深入详解
2018/12/30 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
2019/05/01 Javascript
js时间转换毫秒的实例代码
2019/08/21 Javascript
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
js滚轮事件 js自定义滚动条的实现
2020/01/18 Javascript
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
Django压缩静态文件的实现方法详析
2018/08/26 Python
python实现本地图片转存并重命名的示例代码
2018/10/27 Python
python 获取计算机的网卡信息
2021/02/18 Python
详解CSS3中使用gradient实现渐变效果的方法
2015/08/18 HTML / CSS
美国体育用品商店:Paragon Sports
2017/10/08 全球购物
Rag & Bone官网:瑞格布恩高级成衣
2018/04/19 全球购物
英国的潮牌鞋履服饰商店:size?
2019/03/26 全球购物
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
服装设计专业毕业生推荐信
2013/11/09 职场文书
创业者是否需要商业计划书?
2014/02/07 职场文书
前处理班长职位说明书
2014/03/01 职场文书
2015年高考寄语或鼓励的话
2015/03/23 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书