本文实例讲述了PHP实现将MySQL重复ID二维数组重组为三维数组的方法。分享给大家供大家参考,具体如下:
应用场景
MYSQL在使用关联查询时,比如 产品表 与 产品图片表关联,一个产品多张产品图片,关联查询结果如下:
1
2
3
4
5
6
7
8
9
10
11
|
$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' ], ] |
那么,我们要的结果一般是这样的,如下:
1
2
3
4
5
|
$arr =[ [ 'id' =>1, 'img' =>[ 'img1' , 'img2' , 'img3' ]], [ 'id' =>2, 'img' =>[ 'img1' , 'img2' , 'img3' ]], [ 'id' =>3, 'img' =>[ 'img1' , 'img2' , 'img3' ]], ] |
解决方案
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
$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程序设计有所帮助。