求教PHP中多维数组中相同的值提取归类

例 PHP中有这么一个多维数组

Array[4][
  {
    "attr_id": "11",
    "attr_price": "29.8",
    "attr_value": "蓝色",
    "goods_attr_id": "31",
    "goods_id": "10"
  },{
    "attr_id": "8",
    "attr_price": "29.8",
    "attr_value": "60CM",
    "goods_attr_id": "29",
    "goods_id": "10"
  },{
    "attr_id": "8",
    "attr_price": "29.8",
    "attr_value": "70CM",
    "goods_attr_id": "30",
    "goods_id": "10"
  },{
    "attr_id": "11",
    "attr_price": "29.8",
    "attr_value": "黑色",
    "goods_attr_id": "28",
    "goods_id": "10"
  }
]

求教要怎么想相同的 “attr_id” 提取到一个新的数组中 如:

$arr = new arrry();
$arr["a"] = [
  {
    "attr_id": "8",
    "attr_price": "29.8",
    "attr_value": "70CM",
    "goods_attr_id": "30",
    "goods_id": "10"
  },{
    "attr_id": "8",
    "attr_price": "29.8",
    "attr_value": "70CM",
    "goods_attr_id": "30",
    "goods_id": "10"
  },
]

$arr["b"] = [
   {
    "attr_id": "11",
    "attr_price": "29.8",
    "attr_value": "蓝色",
    "goods_attr_id": "31",
    "goods_id": "10"
    },{
    "attr_id": "11",
    "attr_price": "29.8",
    "attr_value": "黑色",
    "goods_attr_id": "28",
    "goods_id": "10"
  }
]

数组长度不确定、attr_id值、数量不确定,就是要判断将数组中的attr_id相同的归类放入新的数组中.

红颜莎娜
浏览 449回答 1
1回答

肥皂起泡泡

$arr = [ [ "attr_id": "11", "attr_price": "29.8", "attr_value": "蓝色", "goods_attr_id": "31", "goods_id": "10" ], [ "attr_id": "8", "attr_price": "29.8", "attr_value": "60CM", "goods_attr_id": "29", "goods_id": "10" ], [ "attr_id": "8", "attr_price": "29.8", "attr_value": "70CM", "goods_attr_id": "30", "goods_id": "10" ], [ "attr_id": "11", "attr_price": "29.8", "attr_value": "黑色", "goods_attr_id": "28", "goods_id": "10" ] ] $arr1 = []; foreach ($arr as $k => $v) { $arr1[$v[attr_id]][] = $v; } // 输出 $arr1 = [ '8' => [ [ "attr_id": "8", "attr_price": "29.8", "attr_value": "70CM", "goods_attr_id": "30", "goods_id": "10" ], [ "attr_id": "8", "attr_price": "29.8", "attr_value": "60CM", "goods_attr_id": "30", "goods_id": "10" ], ], '11' => [ [ "attr_id": "11", "attr_price": "29.8", "attr_value": "蓝色", "goods_attr_id": "31", "goods_id": "10" ], [ "attr_id": "11", "attr_price": "29.8", "attr_value": "黑色", "goods_attr_id": "28", "goods_id": "10" ], ], ]
打开App,查看更多内容
随时随地看视频慕课网APP