Возможно, не только я забываю, чем именно отличается функция array_merge() от оператора объединения +, примененного к массивам.
Допустим, у нас два массива, $a и $b, тогда array_merge($a, $b); и $a+$b оба произведут объединение элементов этих массивов, но с нюансами, которые я вывел в таблицу. Итак, при выполнении обеих операций берутся в расссмотрение индексы или ключи массивов и сравниваются между собой. Ключи могут быть числовыми (индексы) и строковыми (ассоциативный массив).
Индексы | array_merge ($a, $b) | $a+$b |
Несовпадающие строковые ключи | Элементы просто добавляются | Элементы просто добавляются |
Совпадающие строковые ключи | Элементы из массива $b в результате | Элементы из массива $a в результате |
Несовпадющие численные индексы | Элементы добавляются. Индексы не сохраняются, идет переидексация массива, начиная с 0 | Элементы добавляются. Индексы остаются, как были |
Совпадающие численные индексы | В результате будут ВСЕ элементы из обоих массивов, далее идет переидексация результирующего массива, начиная с 0 | Элементы из массива $a в результате |
Примеров бы, нихераж не понятно