Выбор ответа Junior Массивы изнутри спрашивают часто обновлено

array_merge и оператор +

Вопрос

Чем array_merge($a, $b) отличается от $a + $b для массивов с числовыми ключами?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: arraymerge перенумерует ключи, + добавит из $b только новые ключи. [1, 2] + [3, 4, 5] даст [1, 2, 5]: ключи 0 и 1 уже есть, добавится только ключ 2. arraymerge([1, 2], [3, 4, 5]) даст [1, 2, 3, 4, 5].

Варианты ответа

  1. array_merge перенумерует ключи, + добавит из $b только новые ключиправильный ответ
  2. Ничем: это синонимы, + просто короткая запись array_merge
  3. + складывает значения поэлементно, а array_merge склеивает
  4. array_merge оставляет первое значение при совпадении строковых ключей $b

Разбор

[1, 2] + [3, 4, 5] даст [1, 2, 5]: ключи 0 и 1 уже есть, добавится только ключ 2. array_merge([1, 2], [3, 4, 5]) даст [1, 2, 3, 4, 5]. Для строковых ключей array_merge берёт последнее значение, а + первое. Поэлементного сложения + не делает.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.