我有2个这个
的数组Array
(
[0] => Array
(
[day] => 17-3-2018
)
[1] => Array
(
[day] => 16-3-2018
)
[2] => Array
(
[day] => 15-3-2018
)
[3] => Array
(
[day] => 14-3-2018
)
)
Array
(
[0] => stdClass Object
(
[day] => 15-3-2018
[count] => 2
)
[1] => stdClass Object
(
[day] => 17-3-2018
[count] => 1
)
)
我正在尝试将它们组合在一起,以便得到第三个看起来像这样的数组
Array
(
[0] => Array
(
[day] => 17-3-2018
[count] => 1
)
[1] => Array
(
[day] => 16-3-2018
)
[2] => Array
(
[day] => 15-3-2018
[count] => 2
)
[3] => Array
(
[day] => 14-3-2018
)
)
我已经尝试过array_merge和array_combine,但他们没有给我我想要的结果,我是PHP的初学者,所以我有点失去了尝试找出最佳解决方案。
我问过一个我现在删除的问题,这个问题有一个简化的数组,我希望这会让事情变得更容易。
我是否需要遍历每个项目并检查另一项以构建新阵列?
答案 0 :(得分:2)
您可以循环第二个数组并搜索array1的平面数组 使用array_column创建平面数组。
// Create a flat day array you can search
$day= array_column($arr1, "day");
Foreach($arr2 as $val){
// Find if day is in $arr1
$find = array_search($val['day'], $day);
// If day is found in $arr1 add count value
If($find !== false) $arr1[$find]['count'] = $val['count'];
}
Var_dump($arr1);