批改状态:合格
老师批语:二维数组的排序一直是个难点,工作中常用的是usort()
数组排序常用的函数:
| 函数名称 | 描述 |
|---|---|
| asort() | 对数组进行排序并保持索引关系 |
| arsort() | 对数组进行逆向排序并保持索引关系 |
定义数组:
$data = [['id'=>1,'title'=>'苹果','price'=>20],['id'=>2,'title'=>'香蕉','price'=>15],['id'=>3,'title'=>'梨子','price'=>18],['id'=>4,'title'=>'西瓜','price'=>5]];
自定义函数:
function paixu($array = [],$key = "",$asc = true){// 初始化数组$result = [];// 遍历出准备排序的数组并取出需要排序的值存为新的数组foreach ($array as $k => $v){$values[$k] = $v[$key] ?? "";}// 对需要排序的键值进行升序或降序$asc ? asort($values) : arsort($values);// 销毁变量unset($k,$v);// 重新排列原有数组foreach ($values as $k => $v){$result[$k] = $array[$k];}// 返回新排序的数组return $result;}
调用函数:
// 根据价格(price)进行升序排序$news_data = paixu($data,'price',true);print_r($news_data);
执行结果:

数组的排序在开发中应用的比较多,很多场景可直接套用该实例函数
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号