如何用PHP对二维数组按元素值进行排序?

更新于
2026-09-26 06:00:52
1阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计232个文字,预计阅读时间需要1分钟。

如何用PHP对二维数组按元素值进行排序?

由于需要简化并限制字数,以下是对原文的

使用`[ ]`格式,若需PHP 5.4版本,请移至其他版本。排序:`@param array $array 排序的数组 @param string $key 排序依据字段 @param string $order 排序方式,0降序,1升序`

如何用PHP对二维数组按元素值进行排序?

由于使用[]形式,因此要求PHP版本>5.4,要移植到其它版本请随便

/** * 多维数组排序 * @param array $array 要排序的数组 * @param string $key 排序依据字段 * @param string $order 排序方式,0为降序,1为升序 */ function array_sort(array $array,$key,$order=1){ $sort=[]; // 在此处形成字段值与键名的对应关系 foreach($array as $k=>$v){ $sort[$v[$key]]=isset($sort[$v[$key]])?array_merge($sort[$v[$key]],[$k]):[$k]; } if($order==1&&ksort($sort)){ // 升序排序 }elseif($order==0&&krsort($sort)){ }else{ return false; } $rs = []; // 按照排好顺序的关系生成新的数组 foreach($sort as $value){ foreach($value as $n){ $rs[] = $array[$n]; } } unset($sort,$array); return $rs; }

本文共计232个文字,预计阅读时间需要1分钟。

如何用PHP对二维数组按元素值进行排序?

由于需要简化并限制字数,以下是对原文的

使用`[ ]`格式,若需PHP 5.4版本,请移至其他版本。排序:`@param array $array 排序的数组 @param string $key 排序依据字段 @param string $order 排序方式,0降序,1升序`

如何用PHP对二维数组按元素值进行排序?

由于使用[]形式,因此要求PHP版本>5.4,要移植到其它版本请随便

/** * 多维数组排序 * @param array $array 要排序的数组 * @param string $key 排序依据字段 * @param string $order 排序方式,0为降序,1为升序 */ function array_sort(array $array,$key,$order=1){ $sort=[]; // 在此处形成字段值与键名的对应关系 foreach($array as $k=>$v){ $sort[$v[$key]]=isset($sort[$v[$key]])?array_merge($sort[$v[$key]],[$k]):[$k]; } if($order==1&&ksort($sort)){ // 升序排序 }elseif($order==0&&krsort($sort)){ }else{ return false; } $rs = []; // 按照排好顺序的关系生成新的数组 foreach($sort as $value){ foreach($value as $n){ $rs[] = $array[$n]; } } unset($sort,$array); return $rs; }