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脚本的10个技巧(2)
Oct 09 PHP
source.php查看源文件
Dec 09 PHP
PHP 身份证号验证函数
May 07 PHP
PHP页面中文乱码分析
Oct 29 PHP
php获取新浪微博数据API实例
Nov 12 PHP
PHP获得数组交集与差集的方法
Jun 10 PHP
PHP实现的QQ空间g_tk加密算法
Jul 09 PHP
php简单判断两个字符串是否相等的方法
Jul 13 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
Jul 07 PHP
PHP实现微信对账单处理
Oct 01 PHP
PHP convert_uudecode()函数讲解
Feb 14 PHP
基于PHP实现发微博动态代码实例
Dec 11 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
星际中的相关伤害
2020/03/04 星际争霸
分享下页面关键字抓取components.arrow.com站点代码
2014/01/30 PHP
PHP截取发动短信内容的方法
2017/07/04 PHP
javascript网页关闭时提醒效果脚本
2008/10/22 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
js实现拉伸拖动iframe的具体代码
2013/08/03 Javascript
Javascript单元测试框架QUnitjs详细介绍
2014/05/08 Javascript
JavaScript中的getDay()方法使用详解
2015/06/09 Javascript
JSONP原理及简单实现
2016/06/08 Javascript
Bootstrap零基础入门教程(三)
2016/07/18 Javascript
jQuery EasyUI Tab 选项卡问题小结
2016/08/16 Javascript
总结十个Angular.js由浅入深的面试问题
2016/08/26 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
深入理解ES6之数据解构的用法
2018/01/13 Javascript
webpack里使用jquery.mCustomScrollbar插件的方法
2018/05/30 jQuery
JavaScript简单实现关键字文本搜索高亮显示功能示例
2018/07/25 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
laravel-admin 与 vue 结合使用实例代码详解
2019/06/04 Javascript
IE11下处理Promise及Vue的单项数据流问题
2019/07/24 Javascript
Vue3 源码导读(推荐)
2019/10/14 Javascript
编写v-for循环的技巧汇总
2020/12/01 Javascript
PHP webshell检查工具 python实现代码
2009/09/15 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
Python Matplotlib实现三维数据的散点图绘制
2019/03/19 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
django 基于中间件实现限制ip频繁访问过程详解
2019/07/30 Python
Python中的上下文管理器相关知识详解
2019/09/19 Python
python super的使用方法及实例详解
2019/09/25 Python
python编写微信公众号首图思路详解
2019/12/13 Python
h5页面唤起app如果没安装就跳转下载(iOS和Android)
2020/06/03 HTML / CSS
美国最流行的男士时尚网站:Touch of Modern
2018/02/05 全球购物
无财产无子女离婚协议书范文
2014/09/14 职场文书
Python Django框架介绍之模板标签及模板的继承
2021/05/27 Python