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

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

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

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от jaren , 2 года назад

@clement.erdman 

В PHP для объединения массивов используется функция array_merge(). Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
$array1 = array("foo", "bar");
$array2 = array(1, 2, 3);
$result = array_merge($array1, $array2);
print_r($result);

// Output:
Array
(
    [0] => foo
    [1] => bar
    [2] => 1
    [3] => 2
    [4] => 3
)


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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
$array1 = array("foo", "bar");
$array2 = array(1, 2, 3);
$result = $array1 + $array2;
print_r($result);

// Output:
Array
(
    [0] => foo
    [1] => bar
    [2] => 1
    [3] => 2
    [4] => 3
)


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

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

от clifford , 6 месяцев назад

@clement.erdman 

Для объединения массивов в PHP существуют несколько способов:

  1. Функция array_merge():
1
2
3
4
$array1 = array("foo", "bar");
$array2 = array(1, 2, 3);
$result = array_merge($array1, $array2);
print_r($result);


  1. Оператор объединения массивов ( "+" ):
1
2
3
4
$array1 = array("foo", "bar");
$array2 = array(1, 2, 3);
$result = $array1 + $array2;
print_r($result);


  1. Функция array_merge_recursive() для многомерных массивов:
1
2
3
4
$array1 = array("color" => array("green"), 5);
$array2 = array(10, "color" => array("blue", "red"));
$result = array_merge_recursive($array1, $array2);
print_r($result);


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