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 相关文章推荐
windows xp下安装pear
Dec 02 PHP
php用正则表达式匹配URL的简单方法
Nov 12 PHP
php环境套包 dedeampz 伪静态设置示例
Mar 26 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
Jul 28 PHP
Centos下升级php5.2到php5.4全记录(编译安装)
Apr 03 PHP
Mac环境下php操作mysql数据库的方法分享
May 11 PHP
php 实现一个字符串加密解密的函数实例代码
Nov 01 PHP
php版微信小店调用api示例代码
Nov 12 PHP
PHP后台备份MySQL数据库的源码实例
Mar 18 PHP
PHP实现cookie跨域session共享的方法分析
Aug 23 PHP
零基础php编程好学吗
Oct 11 PHP
PHP常用函数之根据生日计算年龄功能示例
Oct 21 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 采集程序原理分析篇
2010/03/05 PHP
深入array multisort排序原理的详解
2013/06/18 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
php短网址和数字之间相互转换的方法
2015/03/13 PHP
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
php实现购物车功能(以大苹果购物网为例)
2017/03/09 PHP
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
指定js可访问其它域名的cookie的方法
2007/09/18 Javascript
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
JS延时提示框实现方法详解
2015/11/26 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
js调用webservice构造SOAP进行身份验证
2016/04/27 Javascript
微信公众号开发 自定义菜单跳转页面并获取用户信息实例详解
2016/12/08 Javascript
flexslider.js实现移动端轮播
2017/02/05 Javascript
Vue-resource实现ajax请求和跨域请求示例
2017/02/23 Javascript
Vue.js进行查询操作的实例详解
2017/08/25 Javascript
详解从Vue.js源码看异步更新DOM策略及nextTick
2017/10/11 Javascript
jquery如何实现点击空白处隐藏元素
2017/12/05 jQuery
解决vue点击控制单个样式的问题
2018/09/05 Javascript
JS使用Dijkstra算法求解最短路径
2019/01/17 Javascript
vue eslint简要配置教程详解
2019/07/26 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
2020/04/01 jQuery
[04:38]完美世界携手游戏风云打造 卡尔工作室饰品系统篇
2013/04/25 DOTA
Python itertools模块详解
2015/05/09 Python
Python Matplotlib库入门指南
2015/05/18 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
Django 表单模型选择框如何使用分组
2019/05/16 Python
PyQt5创建一个新窗口的实例
2019/06/20 Python
python安装virtualenv虚拟环境步骤图文详解
2019/09/18 Python
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
2014/04/10 HTML / CSS
资生堂英国官网:Shiseido英国
2020/12/30 全球购物
销售口号大全
2014/06/11 职场文书
高中学校对照检查材料
2014/08/31 职场文书
岳麓书院导游词
2015/02/03 职场文书