- A+
usort(array,myfunction);
定义和用法
usort() 使用用户自定义的比较函数对数组进行排序。
$a <=> $b //PHP7新增 太空船运算符(组合比较符)当$a小于、等于、大于 $b时 分别返回一个小于、等于、大于0的 int 值。
实例:
public function arraySort() { $res = [ ['name' =>'小明','age' => 20], ['name' =>'小李','age' => 37], ['name' =>'小张','age' => 18], ['name' =>'小王','age' => 2], ['name' =>'小马','age' => 7], ['name' =>'小孙','age' => 40] ]; return $this->sortForArray($res,1); } /** * 二位数组排序 * * @param array $data * @param int $type 0 顺序 1 倒序 * @return array * @created at 2021/8/10 9:59 上午 */ public function sortForArray(array $data, int $type = 0): array { switch ($type){ case 1: usort($data, function ($a,$b){ return -($a['age'] <=> $b['age']); }); break; default: usort($data,function ($a, $b){ return $a['age'] <=> $b['age']; }); } return $data; }
结果:
[ { "name": "小孙", "age": 40 }, { "name": "小李", "age": 37 }, { "name": "小明", "age": 20 }, { "name": "小张", "age": 18 }, { "name": "小马", "age": 7 }, { "name": "小王", "age": 2 } ]
2021年9月7日 下午4:38 沙发
学到了