数组排序函数
数组排序常用的函数:
函数名称 | 描述 |
---|---|
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);
执行结果:
总结
数组的排序在开发中应用的比较多,很多场景可直接套用该实例函数