我有这个数组:
Array
(
[0] => Array
(
[id] => 99
[fruit] => Apple
[color] => Green
)
[1] => Array
(
[id] => 99
[fruit] => Apple
[color] => Red
)
[2] => Array
(
[id] => 555
[fruit] => Banada
[color] => Yellow
)
)
我需要通过合并item by id
从这个数组中创建一个新数组。
因此,最终输出如下:
Array
(
[99] => Array
(
[id] => 99
[fruit] => Apple
[color] => Green
),
(
[id] => 99
[fruit] => Apple
[color] => Red
)
[555] => Array
(
[id] => 555
[fruit] => Banada
[color] => Yellow
)
)
谢谢。
发布于 2018-07-11 04:07:26
您应该创建一个新数组来保存结果并迭代输入,将每个元素添加到新数组中。注意PHP是如何自动创建子数组的。
$output = array();
foreach($input as $fruit){
$output[$fruit['id']][] = $fruit;
}
发布于 2018-07-11 04:12:14
<?php
function merge_array_by_key($arrays)
{
$new_array = [];
foreach($arrays as $array)
{
$new_array[$array["id"]] = $array;
}
return $new_array;
}
希望这能起作用!
https://stackoverflow.com/questions/51273098
复制相似问题