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 相关文章推荐
基于MySQL体系结构的分析
May 02 PHP
PHP 文件编程综合案例-文件上传的实现
Jul 03 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
Jul 05 PHP
discuz图片顺序混乱解决方案
Jul 29 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
May 04 PHP
CodeIgniter集成smarty的方法详解
May 26 PHP
Yii2 批量插入、更新数据实例
Mar 15 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
Jul 10 PHP
Laravel框架模型的创建及模型对数据操作示例
May 07 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
Sep 30 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
Sep 17 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
Feb 27 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 5.0 Pear安装方法
2006/12/06 PHP
PHP编写RESTful接口
2016/02/23 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
JavaScript 提升运行速度之循环篇 译文
2009/08/15 Javascript
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
2012/08/14 Javascript
JavaScript高级程序设计(第3版)学习笔记5 js语句
2012/10/11 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
JQuery 在线引用及测试引用是否成功
2014/06/24 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
NodeJS使用jQuery选择器操作DOM
2015/02/13 NodeJs
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
javaScript中push函数用法实例分析
2015/06/08 Javascript
JavaScript学习小结(一)——JavaScript入门基础
2015/09/02 Javascript
JavaScript中数组slice和splice的对比小结
2016/09/22 Javascript
springmvc接收jquery提交的数组数据代码分享
2017/10/28 jQuery
vue项目中用cdn优化的方法
2018/01/03 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
javascript实现点击小图显示大图
2020/11/29 Javascript
vue中配置scss全局变量的步骤
2020/12/28 Vue.js
使用python删除nginx缓存文件示例(python文件操作)
2014/03/26 Python
Python中的多重装饰器
2015/04/11 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
我用Python抓取了7000 多本电子书案例详解
2019/03/25 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
2020/04/07 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
2020/11/28 Python
Kipling凯浦林美国官网:世界著名时尚休闲包袋品牌
2016/08/24 全球购物
澳大利亚波西米亚风连衣裙在线商店:Fortunate One
2019/04/01 全球购物
大学生毕业的自我评价分享
2014/01/02 职场文书
机电一体化职业规划书
2014/01/07 职场文书
工作失误检讨书范文大全
2014/01/13 职场文书
会计自荐信范文
2014/03/09 职场文书
关于责任的演讲稿
2014/05/20 职场文书
大四毕业生自荐书
2014/07/05 职场文书
2015国庆节放假通知范文
2015/07/30 职场文书