php按二维数组中的某一元素值进行排序

简介:

PHP二维数组排序函数

PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义。

以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义:

01. functionarray_sort($arr,$keys,$type='asc'){
02. $keysvalue$new_arrayarray();
03. foreach($arras$k=>$v){
04. $keysvalue[$k] = $v[$keys];
05. }
06. if($type== 'asc'){
07. asort($keysvalue);
08. }else{
09. arsort($keysvalue);
10. }
11. reset($keysvalue);
12. foreach($keysvalueas$k=>$v){
13. $new_array[$k] = $arr[$k];
14. }
15. return$new_array;
16. }

它可以对二维数组按照指定的键值进行排序,也可以指定升序或降序排序法(默认为升序),用法示例:

01. $arrayarray(
02. array('name'=>'手机','brand'=>'诺基亚','price'=>1050),
03. array('name'=>'笔记本电脑','brand'=>'lenovo','price'=>4300),
04. array('name'=>'剃须刀','brand'=>'飞利浦','price'=>3100),
05. array('name'=>'跑步机','brand'=>'三和松石','price'=>4900),
06. array('name'=>'手表','brand'=>'卡西欧','price'=>960),
07. array('name'=>'液晶电视','brand'=>'索尼','price'=>6299),
08. array('name'=>'激光打印机','brand'=>'惠普','price'=>1200)
09. );
10.
11. $ShoppingList= array_sort($array,'price');
12. print_r($ShoppingList);

上面是对$array这个二维数组按照'price'从低到高的排序。

输出结果:(略)。



更多:http://www.cnblogs.com/tjmsz/archive/2011/11/10/2244231.html


      本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/1325087,如需转载请自行联系原作者






相关文章
原生php实现列表接口+分页接口+排序接口组合使用+包括测试数据(不加任何封装)
原生php实现列表接口+分页接口+排序接口组合使用+包括测试数据(不加任何封装)
原生php实现列表接口+分页接口+排序接口组合使用+包括测试数据(不加任何封装)
|
3月前
|
SQL PHP 数据库
|
7月前
|
PHP
php数组随机排序
PHP中对数据进行随机排序
|
4月前
|
算法 小程序 PHP
PHP实现递归排序
在leetcode练习算法的时候,发现一个算法需要用到递归。 递归是个好东西,但是吧,一般不理解其精髓的,很难写出一个好的递归。 递归其实就是函数本身直接或者间接地调用自身的一种编程方法(我自己调用我自己~),也可以理解为有反复执行过程的一种方法,这个就与循环非常相似,但是递归调用的函数中必须要有终止条件,也就是一定
28 1
|
9月前
|
JSON PHP 数据格式
php清洗数据实战案例(2):根据键值进行二维数据的对象数组的排序
php清洗数据实战案例(2):根据键值进行二维数据的对象数组的排序
55 0
|
9月前
|
PHP
PHP 多维数组排序
PHP 多维数组排序
|
PHP
PHP常用排序
PHP常用排序
57 0
|
PHP
PHP数组排序 解决数值型版本号排序错乱
PHP数组排序 解决数值型版本号排序错乱
102 0
|
存储 算法 程序员
bitmap算法的PHP实现,快速去重排序,数据压缩储存
因为电路的逻辑只有0和1两个状态,这里的0和1并不是数字的0和1,0和1是表示两种不同的状态,0表示低电平,1表示高电平。因为计算机是由无数个逻辑电路组成的,只能根据0和1的无限位数和组合来表达信息。 电脑只认识0和1这两个数字,所有的数据在电脑中都是以0和1组成的编码存储的,这样的编码叫做二进制。一个0或一个1就叫做一个位 最初的计算机性能和存储容量都比较差,所以普遍采用4位BCD编码(这个编码出现比计算机还早,最早是用在打孔卡上的)。
318 0
|
PHP
php检测值是否存在二维数组
php检测值是否存在二维数组
33 0