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中使用Sockets 从Usenet中获取文件
Jan 10 PHP
php ignore_user_abort与register_shutdown_function 使用方法
Jun 14 PHP
用PHP的ob_start() 控制您的浏览器cache
Aug 03 PHP
PHP优于Node.js的五大理由分享
Sep 15 PHP
基于Discuz security.inc.php代码的深入分析
Jun 03 PHP
如何用C语言编写PHP扩展的详解
Jun 13 PHP
php ci框架验证码实例分析
Jun 26 PHP
一个显示效果非常不错的PHP错误、异常处理类
Mar 21 PHP
PHP、Python和Javascript的装饰器模式对比
Feb 03 PHP
PHP表单验证内容是否为空的实现代码
Nov 14 PHP
PHP高效获取远程图片尺寸和大小的实现方法
Oct 20 PHP
Yii2框架redis基本应用示例
Jul 13 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禁止个别IP访问网站
2013/10/30 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
php堆排序实现原理与应用方法
2015/01/03 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
2019/06/13 PHP
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
2007/05/03 Javascript
慎用 somefunction.prototype 分析
2009/06/02 Javascript
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
javascript 节点遍历函数
2010/03/28 Javascript
jQuery UI的Dialog无法提交问题的解决方法
2011/01/11 Javascript
使用Firebug对js进行断点调试的图文方法
2011/04/02 Javascript
SOSO地图JS画出标注和中心点以html形式运行
2013/08/09 Javascript
javascript实现根据身份证号读取相关信息
2014/12/17 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
js中动态创建json,动态为json添加属性、属性值的实例
2016/12/02 Javascript
node跨域请求方法小结
2017/08/25 Javascript
element-ui的回调函数Events的用法详解
2018/10/16 Javascript
vue计算属性get和set用法示例
2019/02/08 Javascript
js实现无缝轮播图效果
2020/03/09 Javascript
[01:03:51]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第三场
2018/04/09 DOTA
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
利用Python自动监控网站并发送邮件告警的方法
2016/08/24 Python
Python中断言Assertion的一些改进方案
2016/10/27 Python
浅谈python装饰器探究与参数的领取
2017/12/01 Python
使用apidocJs快速生成在线文档的实例讲解
2018/02/07 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
Python导入模块包原理及相关注意事项
2020/03/25 Python
keras导入weights方式
2020/06/12 Python
Madewell澳大利亚官方网站:美国休闲服饰品牌
2019/07/18 全球购物
英文版销售经理个人求职信
2013/11/20 职场文书
学生周末回家住宿长期请假条
2014/02/15 职场文书
篮球比赛策划方案
2014/06/05 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
廉洁自律承诺书2015
2015/01/22 职场文书
初三英语教学计划
2015/01/23 职场文书
青年人初次创业的“五不要”
2019/08/23 职场文书