年轻付出代码,array_multisort()技能得到
在工作中,遇到二维数组排序的问题,然后我自己手撸,结果发现怎么调试都出错,更何况效率的问题。最后在别人的帮助下,找到了过往使用的工具方法,因此就去翻看array_multisoort()函数说明,同时发现,公司曾经的封装略显不足,因此我运用之前封装的_array_column函数,成功为二维数组排序,代码如下:
function _array_column($array, $key)
{
if (function_exists('array_column')) {
return array_column($array, $key);
}
$result = array();
foreach ($array as $val) {
if (array_key_exists($key, $val)) {
$result[] = $val[$key];
}
}
return $result;
}
function _array_multisort($array, $key)
{
$column = _array_column($array, $key);
$result = $array ? $array : false;
if ($column && $result) {
array_multisort($column, $result);
}
return $result;
}
$array = array(
array(
'name' => '小明',
'age' => 19,
'birth' => '1996-02-23'
),
array(
'name' => '大明',
'age' => 20,
'birth' => '1995-01-01'
)
);
//调用
_array_multisort($array, 'birth');
转载需经作者允许并注明出处(http://hiunique.com/php/90.html)
来自:你好创造者