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 加密与解密的斗争
Apr 17 PHP
备份mysql数据库的php代码(一个表一个文件)
May 28 PHP
php 操作调试的方法
Jul 12 PHP
详谈PHP文件目录基础操作
Nov 11 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
Nov 19 PHP
PHP数学运算与数据处理实例分析
Apr 01 PHP
PHP创建/删除/复制文件夹、文件
May 03 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
Feb 23 PHP
thinkPHP5.0框架自动加载机制分析
Mar 18 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
PHP面向对象类型约束用法分析
Jun 12 PHP
Laravel框架实现即点即改功能的方法分析
Oct 31 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中常见数据类型的汇总分享
2014/01/06 PHP
PHP实现CSV文件的导入和导出类
2015/03/24 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
2018/04/27 PHP
PhpStorm连接服务器并实现自动上传功能
2020/12/09 PHP
js 颜色选择器(兼容firefox)
2009/03/05 Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
2013/11/22 Javascript
js获取select选中的option的text示例代码
2013/12/19 Javascript
Javascript中的几种URL编码方法比较
2015/01/23 Javascript
深入理解$.each和$(selector).each
2016/05/15 Javascript
JavaScript实现复制文章自动添加版权
2016/08/02 Javascript
原生js编写基于面向对象的分页组件
2016/12/05 Javascript
微信小程序 slider 详解及实例代码
2017/01/10 Javascript
Vue表单验证插件Vue Validator使用方法详解
2017/04/07 Javascript
vue router使用query和params传参的使用和区别
2017/11/13 Javascript
vue 项目如何引入微信sdk接口的方法
2017/12/18 Javascript
bootstrap下拉框动态赋值方法
2018/08/10 Javascript
Vue解决echart在element的tab切换时显示不正确问题
2020/08/03 Javascript
从零学Python之入门(五)缩进和选择
2014/05/27 Python
Python的垃圾回收机制深入分析
2014/07/16 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
利用Opencv中Houghline方法实现直线检测
2018/02/11 Python
python 从文件夹抽取图片另存的方法
2018/12/04 Python
详解python tkinter教程-事件绑定
2019/03/28 Python
python对execl 处理操作代码
2020/06/22 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
2020/07/01 Python
Python通过fnmatch模块实现文件名匹配
2020/09/30 Python
工商管理毕业生推荐信
2013/12/24 职场文书
低碳环保倡议书
2014/04/14 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
2014党员民主评议个人总结
2014/09/10 职场文书
工作能力自我评价2015
2015/03/05 职场文书
女性健康讲座主持词
2015/07/04 职场文书
煤矿安全生产工作总结
2015/08/13 职场文书
pytorch实现线性回归以及多元回归
2021/04/11 Python
python多次执行绘制条形图
2022/04/20 Python