鍍金池/ 問答/PHP/ 求教PHP中多維數(shù)組中相同的值提取歸類

求教PHP中多維數(shù)組中相同的值提取歸類

例 PHP中有這么一個(gè)多維數(shù)組

Array[4][
  {
    "attr_id": "11",
    "attr_price": "29.8",
    "attr_value": "藍(lán)色",
    "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” 提取到一個(gè)新的數(shù)組中 如:

$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": "藍(lán)色",
    "goods_attr_id": "31",
    "goods_id": "10"
    },{
    "attr_id": "11",
    "attr_price": "29.8",
    "attr_value": "黑色",
    "goods_attr_id": "28",
    "goods_id": "10"
  }
]

數(shù)組長(zhǎng)度不確定、attr_id值、數(shù)量不確定,就是要判斷將數(shù)組中的attr_id相同的歸類放入新的數(shù)組中.

回答
編輯回答
玄鳥
$arr = [
    [
        "attr_id": "11",
        "attr_price": "29.8",
        "attr_value": "藍(lán)色",
        "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": "藍(lán)色",
            "goods_attr_id": "31",
            "goods_id": "10"
        ],
        [
            "attr_id": "11",
            "attr_price": "29.8",
            "attr_value": "黑色",
            "goods_attr_id": "28",
            "goods_id": "10"
        ],
    ],
]
2017年9月5日 00:45