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边学边教》(02.Apache+PHP环境配置――下篇)
Dec 13 PHP
PHPMyAdmin 快速配置方法
May 11 PHP
PHP生成excel时单元格内换行问题的解决方法
Aug 26 PHP
PHP递归调用的小技巧讲解
Feb 19 PHP
php设计模式之命令模式使用示例
Mar 02 PHP
php进行支付宝开发中return_url和notify_url的区别分析
Dec 22 PHP
PHP实现连接设备、通讯和发送命令的方法
Oct 13 PHP
php实现分页显示
Nov 03 PHP
thinkPHP中create方法与令牌验证实例浅析
Dec 08 PHP
调试WordPress中定时任务的相关PHP脚本示例
Dec 10 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
Dec 03 PHP
如何通过Apache在本地配置多个虚拟主机
Jul 29 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 图片上添加透明度渐变的效果
2009/06/29 PHP
浅析PHP中的UNICODE 编码与解码
2013/06/29 PHP
Drupal7连接多个数据库及常见问题解决
2014/03/02 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
2014/07/25 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
2016/03/07 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
php+flash+jQuery多图片上传源码分享
2020/07/27 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
jQuery动态设置form表单的enctype值(实现代码)
2013/07/04 Javascript
javascript格式化指定日期对象的方法
2015/04/21 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
jQuery插件fullPage.js实现全屏滚动效果
2016/12/02 Javascript
Javascript中引用类型传递的知识点小结
2017/03/06 Javascript
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
2018/04/08 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
python中numpy包使用教程之数组和相关操作详解
2017/07/30 Python
Python优先队列实现方法示例
2017/09/21 Python
PyQt5实现从主窗口打开子窗口的方法
2019/06/19 Python
python3获取url文件大小示例代码
2019/09/18 Python
python创建学生管理系统
2019/11/22 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
2020/06/30 Python
python能做哪些生活有趣的事情
2020/09/09 Python
Python在线和离线安装第三方库的方法
2020/10/31 Python
CSS3实现曲线阴影和翘边阴影
2016/05/03 HTML / CSS
全球领先的各类汽车配件零售商:Advance Auto Parts
2016/08/26 全球购物
英国最受信任的在线眼镜商之一:Fashion Eyewear
2019/10/31 全球购物
医学护理系毕业生求职信
2013/10/01 职场文书
秋季运动会通讯稿
2014/01/24 职场文书
计算机通信专业推荐信
2014/02/22 职场文书
调任通知
2015/04/21 职场文书
幼儿园园务工作总结2015
2015/05/18 职场文书
2019事业单位个人工作总结范文
2019/08/26 职场文书
如何使用Python提取Chrome浏览器保存的密码
2021/06/09 Python