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&&mysql)五
Oct 09 PHP
php 上一篇,下一篇文章实现代码与原理说明
May 09 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
Jul 16 PHP
PHP 简易输出CSV表格文件的方法详解
Jun 20 PHP
PHP删除HTMl标签的实现代码
Jun 30 PHP
PHP随机生成唯一HASH值自定义函数
Apr 20 PHP
php格式化电话号码的方法
Apr 24 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
Jan 27 PHP
PHP缓冲区用法总结
Feb 14 PHP
PHP邮箱验证示例教程
Jun 01 PHP
php mysql like 实现多关键词搜索的方法
Oct 29 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
Apr 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 checkbox 取值详细说明
2010/08/19 PHP
php操作SVN版本服务器类代码
2011/11/27 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
2015/03/17 PHP
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
iScroll中事件点击触发两次解决方案
2015/03/11 Javascript
微信开发 消息推送实现代码
2016/10/21 Javascript
ES6入门教程之let和const命令详解
2017/05/17 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
2017/09/20 Javascript
移动端效果之Swiper详解
2017/10/09 Javascript
代码详解Vuejs响应式原理
2017/12/20 Javascript
vue2过滤器模糊查询方法
2018/09/16 Javascript
详解nuxt路由鉴权(express模板)
2018/11/21 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
[03:08]Ti4观战指南上
2014/07/07 DOTA
Python循环语句中else的用法总结
2016/09/11 Python
Python实现Mysql数据库连接池实例详解
2017/04/11 Python
django连接mysql配置方法总结(推荐)
2018/08/18 Python
用python画一只可爱的皮卡丘实例
2019/11/21 Python
numpy:找到指定元素的索引示例
2019/11/26 Python
Pytorch实现基于CharRNN的文本分类与生成示例
2020/01/08 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
Python qrcode 生成一个二维码的实例详解
2020/02/12 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
python烟花效果的代码实例
2020/02/25 Python
python pandas.DataFrame.loc函数使用详解
2020/03/26 Python
使用python操作lmdb对数据读取的实例
2020/12/11 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
淘宝网店营销策划书
2014/01/11 职场文书
党员创先争优公开承诺书
2014/03/28 职场文书
经济贸易专业自荐信
2014/06/11 职场文书
商务英语专业求职信
2014/06/26 职场文书
2014年局领导班子自身建设情况汇报
2014/11/21 职场文书
委托公证书样本
2015/01/23 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书
python 制作一个gui界面的翻译工具
2021/05/14 Python