Объединение массивов и ассоциативных массивов

Как я могу получить третий массив, объединив Array1 и Array2? Как лучше всего это сделать в PHP? Большое спасибо. Array2 имеет как индекс (ключ) ассоциативное значение id в Array1.

Массив1

Array
(
    [0] => Array
    (
        [id] => 56
        [grade] => 6.7
    )
    [1] => Array
    (
        [id] => 214
        [grade] => 3.2
    )
)

Массив2

Array
(
    [56] => 2.4
    [214] => 5.8 
)

Требуемый результат

Array
(
    [0] => Array
    (
        [id] => 56
        [grade] => 2.4
    )
    [1] => Array
    (
        [id] => 214
        [grade] => 5.8
    )
)

person Jumpa    schedule 16.11.2015    source источник
comment
Вы что-нибудь пробовали? Один из способов - перебрать Array1, проверить, является ли значение id ключом / установленным в Array2, и, если да, заменить значение grade   -  person Sean    schedule 16.11.2015


Ответы (1)


foreach($array1 as &$arrayItem) {
$arrayItem['grade'] = $array2[$arrayItem['id']]
}

Здесь у вас будет массив 1, объединенный по вашему желанию

person Roël Gonzalez    schedule 16.11.2015
comment
обратите внимание, это приведет к появлению Undefined Error уведомлений и установит значение $arrayItem['grade'] на NULL, если $array2[$arrayItem['id']] не установлено. - person Sean; 16.11.2015
comment
Это правильно, поэтому должны быть проверки isset. - person Roël Gonzalez; 16.11.2015