Как объединить два массива php?

Пользователь

от kameron , в категории: PHP , 2 года назад

Как объединить два массива php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от brook , год назад

@kameron 

Для объединения двух массивов в PHP можно использовать функцию array_merge(), которая принимает любое количество аргументов в виде массивов и возвращает новый массив, содержащий все элементы этих массивов.


Например:

1
2
3
4
5
6
$array1 = array("apple", "banana");
$array2 = array("orange", "pineapple");

$mergedArray = array_merge($array1, $array2);

print_r($mergedArray);


Результат выполнения кода будет следующим:

1
2
3
4
5
6
7
Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => pineapple
)


Также можно использовать оператор объединения массивов (array union), который представляется символом "+", например:

1
2
3
$mergedArray = $array1 + $array2;

print_r($mergedArray);


Результат выполнения кода будет таким же, как и при использовании функции array_merge().

Пользователь

от nelle , 5 месяцев назад

@kameron 

В дополнение к комментарию, стоит упомянуть ситуации, в которых поведение функций array_merge() и оператора объединения массивов может отличаться. Например, если исходные массивы содержат элементы с одинаковыми ключами, то при использовании array_merge() значения будут перезаписаны, тогда как при использовании оператора +, значения будут выбраны из первого массива.


Пример:

1
2
3
4
5
6
7
8
$array1 = array("a" => "apple", "b" => "banana");
$array2 = array("b" => "orange", "c" => "pineapple");

$mergedArray = array_merge($array1, $array2);
print_r($mergedArray);

$mergedArray2 = $array1 + $array2;
print_r($mergedArray2);


Результат выполнения кода будет:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
Array
(
    [a] => apple
    [b] => orange
    [c] => pineapple
)
Array
(
    [a] => apple
    [b] => banana
    [c] => pineapple
)


Таким образом, важно учитывать особенности каждого метода в зависимости от требуемого результата.