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显示MySQL数据的三种方法
Jun 05 PHP
PHP实现域名whois查询的代码(数据源万网、新网)
Feb 22 PHP
PHP如何抛出异常处理错误
Mar 02 PHP
php设计模式 Decorator(装饰模式)
Jun 26 PHP
php float不四舍五入截取浮点型字符串方法总结
Oct 28 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
Jul 24 PHP
php一行代码获取文件后缀名实例分析
Nov 12 PHP
PHP实现过滤各种HTML标签
May 17 PHP
PHP里的单例类写法实例
Jun 25 PHP
浅析PHP7新功能及语法变化总结
Jun 17 PHP
PHP中ajax无刷新上传图片与图片下载功能
Feb 21 PHP
PHP中单例模式的使用场景与使用方法讲解
Mar 18 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之第四天
2006/10/09 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
2019/03/29 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
JavaScript 学习笔记二 字符串拼接
2010/03/28 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
js字符串转换成数字与数字转换成字符串的实现方法
2014/01/08 Javascript
javascript生成随机颜色示例代码
2014/05/05 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
很棒的js Tab选项卡切换效果
2016/08/30 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
vue结合Echarts实现点击高亮效果的示例
2018/03/17 Javascript
Nodejs实现多文件夹文件同步
2018/10/17 NodeJs
vue实现图片懒加载的方法分析
2020/02/05 Javascript
JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析
2020/03/04 Javascript
React实现类似淘宝tab居中切换效果的示例代码
2020/06/02 Javascript
通过JS判断网页是否为手机打开
2020/10/28 Javascript
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
重命名批处理python脚本
2013/04/05 Python
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
使用python实现生成用户信息
2017/03/20 Python
python3实现随机数
2018/06/25 Python
详解Numpy中的广播原则/机制
2018/09/20 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
2020/09/01 Python
python工具快速为音视频自动生成字幕(使用说明)
2021/01/27 Python
python爬虫如何解决图片验证码
2021/02/14 Python
css3 旋转按钮 使用CSS3创建一个旋转可变色按钮
2012/12/31 HTML / CSS
HTML5之多线程(Web Worker)
2019/01/02 HTML / CSS
致长跑运动员加油稿
2014/02/20 职场文书
公司晚会主持词
2014/03/22 职场文书
公司感恩节活动策划书
2014/10/11 职场文书
后备干部推荐材料
2014/12/24 职场文书
食堂管理制度范本
2015/08/04 职场文书
小学感恩主题班会
2015/08/12 职场文书