php教程

超轻量级php框架startmvc

PHP实现将MySQL重复ID二维数组重组为三维数组的方法

更新时间:2020-03-11 10:53:53 作者:startmvc
本文实例讲述了PHP实现将MySQL重复ID二维数组重组为三维数组的方法。分享给大家供大家参

本文实例讲述了PHP实现将MySQL重复ID二维数组重组为三维数组的方法。分享给大家供大家参考,具体如下:

应用场景

MYSQL在使用关联查询时,比如 产品表 与 产品图片表关联,一个产品多张产品图片,关联查询结果如下:


$arr=[
 ['id'=>1,'img'=>'img1'],
 ['id'=>1,'img'=>'img2'],
 ['id'=>1,'img'=>'img3'],
 ['id'=>2,'img'=>'img1'],
 ['id'=>2,'img'=>'img2'],
 ['id'=>2,'img'=>'img3'],
 ['id'=>3,'img'=>'img1'],
 ['id'=>3,'img'=>'img2'],
 ['id'=>3,'img'=>'img3'],
]

那么,我们要的结果一般是这样的,如下:


$arr=[
 ['id'=>1,'img'=>['img1','img2','img3']],
 ['id'=>2,'img'=>['img1','img2','img3']],
 ['id'=>3,'img'=>['img1','img2','img3']],
]

解决方案


$arr=[
 ['id'=>1,'img'=>'img1'],
 ['id'=>1,'img'=>'img2'],
 ['id'=>1,'img'=>'img3'],
 ['id'=>2,'img'=>'img1'],
 ['id'=>2,'img'=>'img2'],
 ['id'=>2,'img'=>'img3'],
 ['id'=>3,'img'=>'img1'],
 ['id'=>3,'img'=>'img2'],
 ['id'=>3,'img'=>'img3'],
]
$arr1=array();
foreach ($arr as $key => $value) {
 if( in_array($value['id'], $value)){
 $arr1[$value['id']]['id']=$value['id'];
 $arr1[$value['id']]['img'][]=$value['img'];
 } 
}
var_dump($arr1);

PHP MySQL 重复ID 二维数组 三维数组