转载
PHP:根据二维数组中的某个字段进行排序
//根据字段has_day对数组$ret进行升序排列
$has_day = array_column($ret,'has_day');
array_multisort($has_day,SORT_ASC,$ret);
首先了解下以下两个函数:
1.array_column() 返回输入数组中某个单一列的值。
![](https://img.haomeiwen.com/i3065831/68c1945fce8faa9a.png)
2.array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多
个值相同,它将对下一个数组进行排序。
![](https://img.haomeiwen.com/i3065831/ee363d617227f4ad.png)
具体实现代码实例:
<?php
$data = array(
array(
'id' => 5698,
'first_name' => 'Bill',
'last_name' => 'Gates',
),
array(
'id' => 4767,
'first_name' => 'Steve',
'last_name' => 'Aobs',
),
array(
'id' => 3809,
'first_name' => 'Mark',
'last_name' => 'Zuckerberg',
)
);
//根据字段last_name对数组$data进行降序排列
$last_names = array_column($data,'last_name');
array_multisort($last_names,SORT_DESC,$data);
var_dump($data);
?>
作者:申文哲
网友评论