php中二维数组排序根据某个元素值进行升序降序排序
应用到php两个内置的函数:
array_column() 返回输入数组中某个单一列的值。更多->
array_multisort() 函数返回排序数组,可以输入一个或多个数组。更多->
具体看示例:
<?php
// 需要处理的数组
$data = array(
array(
'id' => 1,
'label' => 'js',
'txts' => '是一种脚本语言',
),
array(
'id' => 2,
'label' => 'php',
'txts' => '超文本预处理器',
),
array(
'id' => 3,
'label' => 'css',
'txts' => '层叠样式表',
)
);
/**
* Notes: 二维数组根据指定元素排序方法
* Desc : orderArraySet(处理的数组, 指定的元素, 排序方式 asc/desc)
*/
function orderArraySet($array, $e, $order = 'asc'){
$order = $order == 'desc' ? SORT_DESC : SORT_ASC;
$elementArray = array_column($array, $e);
array_multisort($elementArray, $order, $array);
return $array;
}
// 调用方法打印结果
$info = orderArraySet($data,'label', 'desc');
print_r($info);
exit;
?>