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 相关文章推荐
资料注册后发信小技巧
Oct 09 PHP
PHP新手上路(三)
Oct 09 PHP
解决phpmyadmin中文乱码问题。。。
Jan 18 PHP
php+mysql事务rollback&amp;commit示例
Feb 08 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
Jun 29 PHP
php下pdo的mysql事务处理用法实例
Dec 27 PHP
php判断数组中是否存在指定键(key)的方法
Mar 17 PHP
php无限分类使用concat如何实现
Nov 05 PHP
php生成gif动画的方法
Nov 05 PHP
深入php内核之php in array
Nov 10 PHP
PHP写API输出的时用echo的原因详解
Apr 28 PHP
浅谈如何提高PHP代码质量之端到端集成测试
May 28 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
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
Node.js与PHP、Python的字符处理性能对比
2014/07/06 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
JavaScript 学习笔记之基础中的基础
2015/01/13 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
js实现对table的增加行和删除行的操作方法
2016/10/13 Javascript
基于BootstrapValidator的Form表单验证(24)
2016/12/12 Javascript
EasyUI学习之DataGird分页显示数据
2016/12/29 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
2017/02/22 Javascript
React中常见的动画实现的几种方式
2018/01/10 Javascript
Angular模版驱动表单的使用总结
2018/05/05 Javascript
vue中el-upload上传图片到七牛的示例代码
2018/10/19 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
vue滚动tab跟随切换效果
2020/06/29 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
2020/08/14 Javascript
JS removeAttribute()方法实现删除元素的某个属性
2021/01/11 Javascript
python网页请求urllib2模块简单封装代码
2014/02/07 Python
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
安装Python的web.py框架并从hello world开始编程
2015/04/25 Python
Python中基础的socket编程实战攻略
2016/06/01 Python
python一键去抖音视频水印工具
2018/09/14 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
2019/04/17 Python
5行Python代码实现图像分割的步骤详解
2020/05/25 Python
requests在python中发送请求的实例讲解
2021/02/17 Python
解决Python import .pyd 可能遇到路径的问题
2021/03/04 Python
html5实现canvas阴影效果示例
2014/05/07 HTML / CSS
Sunglasses Shop德国站:欧洲排名第一的太阳镜网站
2017/08/01 全球购物
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
北京某公司的.net笔试题
2014/03/20 面试题
采购文员岗位职责
2013/11/20 职场文书
预备党员入党自我评价范文
2014/03/10 职场文书
经典而简洁的婚礼主持词
2014/03/13 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
四群教育工作总结
2015/08/10 职场文书
阿里云服务器搭建Php+Apache运行环境的详细过程
2021/05/15 PHP
DE1103使用报告
2022/04/05 无线电