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 日期时间函数的高级应用技巧
Oct 10 PHP
php下清空字符串中的HTML标签的代码
Sep 06 PHP
php入门学习知识点六 PHP文件的读写操作代码
Jul 14 PHP
关于IIS php调用com组件的权限问题
Jan 11 PHP
php中取得文件的后缀名?
Feb 20 PHP
数据库中排序的对比及使用条件详解
Feb 23 PHP
一组PHP可逆加密解密算法实例代码
Jan 21 PHP
PHP实现动态柱状图改进版
Mar 30 PHP
PHP 接入支付宝即时到账功能
Sep 18 PHP
PHP读取文件的常见几种方法
Nov 03 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
Nov 16 PHP
PHP析构函数destruct与垃圾回收机制的讲解
Mar 22 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
smarty静态实验表明,网络上是错的~呵呵
2006/11/25 PHP
mysql 性能的检查和优化方法
2009/06/21 PHP
PHP目录函数实现创建、读取目录教程实例
2011/01/13 PHP
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
九个你必须知道而且又很好用的php函数和特点
2013/08/08 PHP
php代码审计比较有意思的例子
2014/05/07 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
WIFI万能钥匙密码查询接口实例
2015/09/28 PHP
Yii2增删改查之查询 where参数详细介绍
2016/08/08 PHP
PHP实现的操作数组类库定义与用法示例
2019/05/24 PHP
JQUERY 对象与DOM对象之两者相互间的转换
2009/04/27 Javascript
JavaScript 应用技巧集合[推荐]
2009/08/30 Javascript
读jQuery之十二 删除事件核心方法
2011/07/31 Javascript
javascript实现完美拖拽效果
2015/05/06 Javascript
Vuejs第九篇之组件作用域及props数据传递实例详解
2016/09/05 Javascript
浅谈React深度编程之受控组件与非受控组件
2017/12/26 Javascript
CryptoJS中AES实现前后端通用加解密技术
2018/12/18 Javascript
Element InputNumber 计数器的实现示例
2020/08/03 Javascript
[49:17]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第三场 1月26日
2021/03/11 DOTA
python的类变量和成员变量用法实例教程
2014/08/25 Python
python实现无证书加密解密实例
2014/10/27 Python
Python爬虫框架Scrapy基本用法入门教程
2018/07/26 Python
Python判断以什么结尾以什么开头的实例
2018/10/27 Python
Python模块的加载讲解
2019/01/15 Python
详解python数据结构和算法
2019/04/18 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
python向图片里添加文字
2019/11/26 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
canvas需要在标签里直接定义宽高
2014/12/17 HTML / CSS
Waterford英国官方网站:世界上最受欢迎的优质水晶品牌
2019/08/17 全球购物
Puccini乌克兰:购买行李箱、女士手袋网上商店
2020/08/06 全球购物
后勤岗位职责
2013/11/26 职场文书
观看《周恩来的四个昼夜》思想汇报
2014/09/12 职场文书
利用Python第三方库实现预测NBA比赛结果
2021/06/21 Python
使用feign服务调用添加Header参数
2021/06/23 Java/Android
CSS精灵图的原理与使用方法介绍
2022/03/17 HTML / CSS