php对数组进行排序
描述
php对一个键值对的数组进行排序,支持正序、倒叙。
代码
<?php // $order排序方式 desc或者asc // $arr数组 // $attr 排序值 应该为数组中键值对的键 function phpArrayOrderBy($arr, $attr, $order){ $sortedItems = []; foreach ($arr as $item) { $key = is_object($item) ? $item->{$attr} : $item[$attr]; $sortedItems[$key] = $item; } if ($order === 'desc') { krsort($sortedItems); } else { ksort($sortedItems); } return array_values($sortedItems); }
使用方式:
<?php $arr = [['id' => 1, 'age' => 40],['id' => 2, 'age' => 39],['id' => 3, 'age' => 28]]; print_r(phpArrayOrderBy($arr,'age','desc'));
如图:
