$test = array('hi');
$test += array('test','oh');
var_dump($test);
Что делает +
средний для множества в PHP?
цитирование из руководства PHP на языковых операторах
Оператор + возвращает правый массив, добавленный к левому массиву; Для ключей, которые существуют в обоих массивах, будут использоваться элементы из левого массива, и соответствующие элементы из правого массива будут игнорироваться.
Итак, если вы будете делать
$array1 = ['one', 'two', 'foo' => 'bar'];
$array2 = ['three', 'four', 'five', 'foo' => 'baz'];
print_r($array1 + $array2);
, вы получите
Array
(
[0] => one // preserved from $array1 (left-hand array)
[1] => two // preserved from $array1 (left-hand array)
[foo] => bar // preserved from $array1 (left-hand array)
[2] => five // added from $array2 (right-hand array)
)
, поэтому логика +
эквивалентна следующему фрайпту:
$union = $array1;
foreach ($array2 as $key => $value) {
if (false === array_key_exists($key, $union)) {
$union[$key] = $value;
}
}
, если вы заинтересованы в деталях реализации уровня C Голова до
Примечание, что +
отличается от того, как Array_Merge ()
будет объединять массивы:
print_r(array_merge($array1, $array2));
даст вам
Array
(
[0] => one // preserved from $array1
[1] => two // preserved from $array1
[foo] => baz // overwritten from $array2
[2] => three // appended from $array2
[3] => four // appended from $array2
[4] => five // appended from $array2
)
см. Связанные страницы для получения дополнительных примеров.
Этот оператор принимает объединение двух массивов (то же самое, что и array_merge, за исключением того, что при дублировании ключей array_merge перезаписываются).
Документация по операторам массивов находится здесь .