zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    递推数列
    大数阶乘
    成绩排序
    DevC++ return 1 exit status
    POJ 1061 青蛙的约会
    ZOJ 2750 Idiomatic Phrases Game
    nyoj 545 Metric Matrice
    nyoj 308 Substring
    nyoj 515完全覆盖 II
    nyoj 1248 海岛争霸
  • 原文地址:https://www.cnblogs.com/shaoguan/p/6527725.html
Copyright © 2011-2022 走看看