第一件事
Array
(
[product_id] => 50
[product_id] => 52
[product_id] => 53
[product_id] => 54
)
尝试此代码
$lists = [
[
"product_id" => 50,
"category" => "Shop by Carton"
],[
"product_id" => 52,
"category" => "Shop by Carton"
],[
"product_id" => 53,
"category" => "Shop by Carton"
],[
"product_id" => 54,
"category" => "Shop by Carton"
],[
"product_id" => 55,
"category" => "Shop by Box"
],[
"product_id" => 56,
"category" => "Shop by Box"
],[
"product_id" => 57,
"category" => "Shop by Box"
],[
"product_id" => 58,
"category" => "Shop by Box"
]
];
//Define temp data
$tmps = [];
foreach ($lists as $list) {
$cat = $list["category"];
$pro = $list["product_id"];
if (!isset($tmps[$cat])) {
$tmps[$cat] = [];
}
//add product to temp
$tmps[$cat][] = ["product_id" => $pro];
}
//Define output
$outputs = [];
//format data from temp
foreach ($tmps as $cat => $pros) {
$outputs[] = [
"category" => $cat,
"product_id" => $pros,
];
}
print_r($outputs);
希望这有帮助。