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


Posted in PHP onAugust 01, 2016

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
Jul 01 PHP
使用PHP备份MYSQL数据的多种方法
Jan 15 PHP
PHP连接MySQL的2种方法小结以及防止乱码
Mar 11 PHP
php准确计算复活节日期的方法
Apr 18 PHP
浅谈COOKIE和SESSION区别
Jul 19 PHP
php创建桌面快捷方式实现方法
Dec 31 PHP
php打包压缩文件之ZipArchive方法用法分析
Apr 30 PHP
php的laravel框架快速集成微信登录的方法
Dec 12 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
Apr 19 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
Apr 25 PHP
PHP中include和require的区别实例分析
May 07 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
Jun 03 PHP
利用PHP自动生成印有用户信息的名片
Aug 01 #PHP
php+ajax登录跳转登录实现思路
Jul 31 #PHP
nginx下安装php7+php5
Jul 31 #PHP
header与缓冲区之间的深层次分析
Jul 30 #PHP
laravel学习教程之关联模型
Jul 30 #PHP
laravel学习教程之存取器
Jul 30 #PHP
thinkphp表单上传文件并将文件路径保存到数据库中
Jul 28 #PHP
You might like
php实现随机显示图片方法汇总
2015/05/21 PHP
php自动给网址加上链接的方法
2015/06/02 PHP
PHP5.5迭代生成器用法实例详解
2016/03/16 PHP
用于table内容排序
2006/07/21 Javascript
javascript replace()正则替换实现代码
2010/02/26 Javascript
extjs 04_grid 单击事件新发现
2012/11/27 Javascript
JS注释所产生的bug 即使注释也会执行
2013/11/19 Javascript
Jquery中的层次选择器与find()的区别示例介绍
2014/02/20 Javascript
js图片实时加载提供网页打开速度
2014/09/11 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
2017/05/11 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
微信小程序实现列表左右滑动
2020/11/19 Javascript
python之wxPython应用实例
2014/09/28 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
2020/02/18 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
2020/06/09 Python
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
实现strstr功能,即在父串中寻找子串首次出现的位置
2016/08/05 面试题
法律工作求职自荐信
2013/10/31 职场文书
英语系本科生求职信范文
2013/12/18 职场文书
应届毕业生求职自荐书
2014/01/03 职场文书
高三生物教学反思
2014/01/25 职场文书
财务部经理岗位职责
2014/02/03 职场文书
保险专业自荐信范文
2014/02/20 职场文书
合伙经营协议书范本(通用版)
2014/12/03 职场文书
五好家庭事迹材料
2014/12/20 职场文书
人事主管岗位职责
2015/02/04 职场文书
质量保证书格式
2015/02/27 职场文书
装饰施工员岗位职责
2015/04/11 职场文书
2015年行政人事工作总结
2015/05/21 职场文书
拉贝日记观后感
2015/06/05 职场文书
致男子1500米运动员的广播稿
2019/11/08 职场文书