我在合併數組時遇到問題,不知道我在做什麼錯誤。請看下面的代碼:將2個關聯數組合併爲1
$array1 = [
[ 'job' => '123', 'who' => 'Alpha' ],
[ 'job' => '789', 'who' => 'Bravo' ]
];
$array2 = [
[ 'job' => '123', 'when' => 'Today' ]
];
$desiredArray = [
[ 'job' => '123', 'who' => 'Alpha', 'when' => 'Today' ],
[ 'job' => '789', 'who' => 'Bravo', 'when' => '' ]
];
這是我一直在努力做的事情:
$newArray = [];
foreach ($array2 as $row) {
foreach ($array1 as $record) {
if ($row['job'] === $record['job']) {
$tempArray = [
'when' => $row['when']
];
$newRecord = array_merge($record, $tempArray);
array_push($newArray, $newRecord);
};
};
};
這有點兒工作,但問題是當有不匹配,它仍然需要把原始記錄放入我的新數組中。我試圖在if語句之外添加一些內容,但是我的循環被卡住了。任何幫助表示讚賞。
這是迄今爲止最好的答案! – Kitson88
最佳答案,它需要的所有內容都是用'array_replace_recursive($ a1,$ a2)' –
@Ayaou替換循環:好主意!我如何給你獎勵? – AbraCadaver