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和ACCESS写聊天室(十)
Oct 09 PHP
PHP异步调用socket实现代码
Jan 12 PHP
php比较两个绝对时间的大小
Jan 31 PHP
php统计时间和内存使用情况示例分享
Mar 13 PHP
PHP扩展CURL的用法详解
Jun 20 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
Sep 16 PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
Sep 29 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
Sep 30 PHP
php如何连接sql server
Oct 16 PHP
php session 写入数据库
Feb 13 PHP
PHP PDOStatement::setAttribute讲解
Feb 01 PHP
PHP children()函数讲解
Feb 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+SQL 注入攻击的技术实现以及预防办法
2010/12/29 PHP
php 过滤英文标点符号及过滤中文标点符号代码
2014/06/12 PHP
php生成PDF格式文件并且加密
2015/06/22 PHP
PHP laravel中的多对多关系实例详解
2017/06/07 PHP
jQuery 性能优化指南 (1)
2009/05/21 Javascript
location.href用法总结(最主要的)
2013/12/27 Javascript
JS、DOM和JQuery之间的关系示例分析
2014/04/09 Javascript
JavaScript中读取和保存文件实例
2014/05/08 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
js简单倒计时实现代码
2016/04/30 Javascript
jQuery过滤选择器经典应用
2016/08/18 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
微信小程序 wxapp画布 canvas详细介绍
2016/10/31 Javascript
详解jQuery选择器
2016/12/21 Javascript
node.js中使用Export和Import的方法
2017/09/18 Javascript
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
使用Angular CLI快速创建Angular项目的一些基本概念和写法小结
2018/04/22 Javascript
mpvue微信小程序多列选择器用法之省份城市选择的实现
2019/03/07 Javascript
详解vue-property-decorator使用手册
2019/07/29 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
[02:22]2018DOTA2亚洲邀请赛VG赛前采访
2018/04/03 DOTA
[00:09]DOTA2全国高校联赛 精彩活动引爆全场
2018/05/30 DOTA
Python 类与元类的深度挖掘 II【经验】
2016/05/06 Python
python模拟登陆,用session维持回话的实例
2018/12/27 Python
浅谈Python中eval的强大与危害
2019/03/13 Python
python使用Paramiko模块实现远程文件拷贝
2019/04/30 Python
Django Celery异步任务队列的实现
2019/07/24 Python
tensorflow中tf.reduce_mean函数的使用
2020/04/19 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
windeln官方海外旗舰店:德淘超人气母婴超市
2017/12/15 全球购物
幼儿园教师工作感言
2014/02/15 职场文书
经典广告词大全
2014/03/14 职场文书
爱国主义教育演讲稿
2014/08/26 职场文书
公安机关纪律作风整顿个人剖析材料材料
2014/10/10 职场文书
小鞋子观后感
2015/06/05 职场文书
CSS3实现指纹特效代码
2022/03/17 HTML / CSS