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);

  • 相关阅读:
    git merge
    google platform
    http tutorial
    DS,AA tree
    Java,Hashtable
    java,Object
    Pumping lemma for regular languages
    Pumping lemma
    Context-free grammar
    Formal language
  • 原文地址:https://www.cnblogs.com/shaoguan/p/6527725.html
Copyright © 2011-2022 走看看