Обединяване на масив и асоциативен масив

Как мога да постигна третия масив, обединявайки 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