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中用于检测一个地理IP地址是否可用的代码
Feb 19 PHP
php错误、异常处理机制(补充)
May 07 PHP
PHP exif扩展方法开启详解
Jul 28 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
WordPress迁移时一些常见问题的解决方法整理
Nov 24 PHP
php获得客户端浏览器名称及版本的方法(基于ECShop函数)
Dec 23 PHP
PHP扩展框架之Yaf框架的安装与使用
May 18 PHP
php动态读取数据清除最右边距的方法
Apr 12 PHP
Laravel框架基于ajax实现二级联动功能示例
Jan 17 PHP
解决laravel id非自增 模型取回为0 的问题
Oct 11 PHP
tp5.1框架数据库子查询操作实例分析
May 26 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的String类代码
2010/04/20 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
2015/08/18 PHP
php版微信小店API二次开发及使用示例
2016/11/12 PHP
php登录超时检测功能实例详解
2017/03/21 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
PHP 计算两个特别大的整数实例代码
2018/05/07 PHP
JS 图片缩放效果代码
2010/06/09 Javascript
JS实现图片局部放大或缩小的方法
2016/08/20 Javascript
解析JavaScript实现DDoS攻击原理与保护措施
2016/12/26 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
详解vue+css3做交互特效的方法
2017/11/20 Javascript
node.js环境搭建图文详解
2018/09/19 Javascript
JavaScript实现星级评价效果
2019/05/17 Javascript
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
Python-基础-入门 简介
2014/08/09 Python
Python中变量交换的例子
2014/08/25 Python
python实现简单的TCP代理服务器
2014/10/08 Python
使用Python抓取模板之家的CSS模板
2015/03/16 Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
2017/07/06 Python
Python+threading模块对单个接口进行并发测试
2019/06/25 Python
pandas中的series数据类型详解
2019/07/06 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
Win系统PyQt5安装和使用教程
2019/12/25 Python
如何定义TensorFlow输入节点
2020/01/23 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
python数字类型math库原理解析
2020/03/02 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
CSS3实现3D翻书效果
2016/06/20 HTML / CSS
css3学习系列之移动属性详解
2017/07/04 HTML / CSS
美国一家主营日韩美妆护肤品的在线商店:iMomoko
2016/09/11 全球购物
函授药学自我鉴定
2014/02/07 职场文书
乡镇综治宣传月活动总结
2014/07/02 职场文书
社区党建工作汇报材料
2014/10/27 职场文书
深入解析Apache Hudi内核文件标记机制
2022/03/31 Servers