根据二维数组中的一个键组合成新的数组

/**

* 二维数组转三维数组(指定键为三维数组的键名)

    * @param  [type] $arr [要排序的数组]

    * @param  [type] $key [指定的键]

    * @return [type] $grouped  [重排的数组]

*/

  public function array_group_by($arr, $key)

{

      $grouped = [];

      foreach ($arr as $value) {

          $grouped[$value[$key]][] = $value;

      }

      if (func_num_args() > 2) {

          $args = func_get_args();

          foreach ($grouped as $key => $value) {

              $parms = array_merge([$value], array_slice($args, 2, func_num_args()));

              $grouped[$key] = call_user_func_array('array_group_by', $parms);

          }

}

      return $grouped;

  }


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容