Массив и ассоциативный массив

1

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

Array1

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

array2

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

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

Array
(
    [0] => Array
    (
        [id] => 56
        [grade] => 2.4
    )
    [1] => Array
    (
        [id] => 214
        [grade] => 5.8
    )
)
  • 0
    Вы пробовали что-нибудь? Один из способов будет петлю над Array1 , проверьте , если id значение является ключом / установить в Array2 , и если да заменить grade значение
Теги:
arrays
associative-array
array-merge

1 ответ

1
Лучший ответ
foreach($array1 as &$arrayItem) {
$arrayItem['grade'] = $array2[$arrayItem['id']]
}

Здесь у вас будет массив 1, который вы захотите

  • 0
    обратите внимание, что это приведет к Undefined Error уведомлений о Undefined Error и установит значение $arrayItem['grade'] в NULL если $array2[$arrayItem['id']] не установлено.
  • 0
    Это правильно, поэтому должны были бы прийти проверки isset.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню