PHP多维数组根据其中一个字段的值排序

2018-06-22 04:57:18来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

平时简单的一维数组或者简单的数组排序这里就不多作介绍,这里主要是针对平时做项目中的可能遇到的情况,根据多维数组中的其中一个排序。
用到的php函数是:array_multisort.

思路:获取其中你需要排序的字段,作为一维数组arr1,后边会用来排序多维数组data.
这里主要以二维数组为例,多维数组也是同样的思路。 

$data = array(
array('price' => '500', 'count' => '40', 'level' => '1'),
array('price' => '600', 'count' => '30', 'level' => '2'),
array('price' => '650', 'count' => '20', 'level' => '3'),
array('price' => '700', 'count' => '10', 'level' => '4'),
);

假设以价格来倒叙,我们就需要获取价格这个字段的值,作为一个新的一维数组。

$arr1 = array_map(create_function('$n', 'return $n["price"];'), $data);

如果php版本大于 5.5的话,可以直接用 array_column 这个数组操作方法直接获取某个字段,这里也可以通过foreach来获取,但是尽量用内置函数处理。

然后就用array_multisort处理,

array_multisort($arr1,SORT_DESC,$data );//多维数组的排序

我们可以打印$data最后的结果来看一看结果:

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:OneThink-nav标签

下一篇:【夯实PHP系列】PHP正则表达式