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边学边教》(02.Apache+PHP环境配置――下篇)
Dec 13 PHP
解析PHP将对象转换成数组的方法(兼容多维数组类型)
Jun 21 PHP
php银联网页支付实现方法
Mar 04 PHP
在Debian系统下配置LNMP的教程
Jul 09 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
Dec 07 PHP
PHP使用内置函数生成图片的方法详解
May 09 PHP
Smarty变量用法详解
May 11 PHP
PHP常用的三种设计模式
Feb 17 PHP
PHP hebrev()函数用法讲解
Feb 21 PHP
PHP实现基于状态的责任链审批模式详解
May 31 PHP
Laravel 验证码认证学习记录小结
Dec 20 PHP
详解PHP中的8个魔术常量
Jul 06 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 ftp文件上传函数(基础版)
2010/06/03 PHP
php导出excel格式数据问题
2014/03/11 PHP
PHP进阶学习之类的自动加载机制原理分析
2019/06/18 PHP
开发跨浏览器javascript常见注意事项
2009/01/01 Javascript
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
JavaScript实现鼠标滑过图片变换效果的方法
2015/04/16 Javascript
jQuery()方法的第二个参数详解
2015/04/29 Javascript
原生js页面滚动延迟加载图片
2015/12/20 Javascript
原生javascript实现解析XML文档与字符串
2016/03/01 Javascript
Bootstrap表格和栅格分页实例详解
2016/05/20 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
2017/01/17 Javascript
JS中把函数作为另一函数的参数传递方法(总结)
2017/06/28 Javascript
JS实现电商放大镜效果
2017/08/24 Javascript
react实现菜单权限控制的方法
2017/12/11 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
Vue2.0 事件的广播与接收(观察者模式)
2018/03/14 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
vue2.0实现的tab标签切换效果(内容可自定义)示例
2019/02/11 Javascript
小白教程|一小时上手最流行的前端框架vue(推荐)
2019/04/10 Javascript
浅谈Vue.js之初始化el以及数据的绑定说明
2019/11/14 Javascript
js实现点赞按钮功能的实例代码
2020/03/06 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
2021/01/28 Javascript
Python 时间处理datetime实例
2008/09/06 Python
windows下Python实现将pdf文件转化为png格式图片的方法
2017/07/21 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
解决pycharm界面不能显示中文的问题
2018/05/23 Python
python简单验证码识别的实现方法
2019/05/10 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
印度尼西亚值得信赖的第一家网店:Bhinneka
2018/07/16 全球购物
印度领先的眼镜电子商务网站:Lenskart
2019/12/16 全球购物
高一物理教学反思
2014/01/24 职场文书
一年级评语大全
2014/04/23 职场文书
环境工程专业毕业生求职信
2014/09/30 职场文书
党员进社区活动总结
2015/05/07 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers
浅谈怎么给Python添加类型标注
2021/06/08 Python