Rumah > php教程 > php手册 > PHP多维数组根据其中一个字段的值排序

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

WBOY
Lepaskan: 2016-09-28 08:38:23
asal
1266 orang telah melayarinya

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

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

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

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

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

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

然后就用array_multisort处理,

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

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

 

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan