我在合并二维数组时遇到了问题
我有三个具有相同月份的数组
第一个数组:(求职者)
Array
(
[0] => Array
(
[MONTH] => 5
[jobseeker] => 4
)
[1] => Array
(
[MONTH] => 6
[jobseeker] => 4
)
)
第二个数组:(公司)
Array
(
[0] => Array
(
[MONTH] => 6
[company] => 11
)
)
第三个数组:(工作)
Array
(
[0] => Array
(
[MONTH] => 6
[job] => 20
)
)
我试过这段代码:
$total_stats = array_merge_recursive($jobseeker_stats, $company_stats, $job_stats);
我希望输出是:
Array
(
[0] => Array
(
[MONTH] => 5
[jobseeker] => 4
)
[1] => Array
(
[MONTH] => 6
[jobseeker] => 4
[company] => 11
[job] => 20
)
最佳答案
您需要使用 array_column() , array_search()与 foreach()
$seconArrayMonths = array_column($array2,'MONTH');
$thirdArrayMonths = array_column($array3,'MONTH');
foreach($array1 as &$arr){
$secondArrayMonthKey = array_search($arr['MONTH'],$seconArrayMonths);
if($secondArrayMonthKey !== false){
$arr['company'] = $array2[$secondArrayMonthKey]['company'];
}
$thirdArrayMonthKey = array_search($arr['MONTH'],$thirdArrayMonths);
if($thirdArrayMonthKey !== false){
$arr['job'] = $array3[$secondArrayMonthKey]['job'];
}
}
print_r($array1);
关于php - 如何将多维与特定值合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56592990/