Объединить массивы PHP можно несколькими способами. Самый простой и действенный способ — применять функцию «array_merge()». Эта функция объединяет несколько массивов в единый таким образом, чтобы элементы последующего массива присоединялись к концу списка значений предыдущего массива.
Напомним, что массив в PHP — это упорядоченное отображение какой-то информации, которое состоит из ключа и значения. Взаимодействие с массивами — это распространенное явление во многих языках программирования, в том числе и в PHP. С массивами можно делать многое, например:
исследовать значение элементов массива;
преобразовывать значение элементов массива;
изменять значение элементов массива;
сравнивать массивы между собой;
отсортировывать элементы массива по значениям, классам или индексам;
объединять массивы;
и др.
Сегоднярассмотрим, как объединить массивы PHP.
Как объединить массивы PHP с помощью метода «array_merge()»
Метод «array_merge()» работает по такому шаблону:
array_merge($<первый массив>, $<второй массив>, $<третий массив>)
Количество массивов может быть любым.
Вот как это выглядит в коде:
<?php
$array1 = ['Дормидонт', 'Платон', 'Никифор', 'Анфиса', 'Даздраперма'];
$array2 = [101, 92, 93, 94, 95];
$result = array_merge($array1, $array2);
var_dump($result);
?>
Объединение этих двух массивов будет выглядеть вот так:
['Дормидонт', 'Платон', 'Никифор', 'Анфиса', 'Даздраперма', 101, 92, 93, 94, 95]
В этом способе есть важная особенность:
Если при объединении массивов попадаются элементы с идентичными ключами, тогда значение элементов с этими ключами будет изменено, а именно: значение элемента из предыдущего массива будет заменено на значение элемента последующего массива. Но это касается только ключей типа «строка».
Если объединяемые массивы обладают идентичными числовыми ключами, тогда значение элементов в этих ключах заменяться не будет, а будет определено в конец списка массива-результата.
Вот как эти особенности будут выглядеть в коде:
<?php
$myarray1 = ['name' => 'Дормидонт', 'secondName' => 'Платон', 'Никифор', 'wifeName' => 'Анфиса', 'sisterName' => 'Даздраперма', 95];
$myarray2 = [101, 92, 'name' => 'Иннокентий', 94, 95];
$result = myarray_merge($myarray1, $myarray2);
var_dump($result);
?>
Результат будет таким:
['name' => 'Иннокентий', 'secondName' => 'Платон', 'Никифор', 'wifeName' => 'Анфиса', 'sisterName' => 'Даздраперма', 95, 101, 92, 94, 95]
Как объединить массивы PHP другими способами
Объединение массивов в PHP возможно разными способами. Один из таких способов — это использовать оператор сложения «+». Такой способ чем-то похож на использование метода «array_merge», так как он добавляет элементы последующих массивов в конец массива-результата. Однако при наличии одинаковых ключей в двух слагаемых массивах этот способ приведет к другому результату. Если в слагаемых массивах будут одинаковые ключи, в результате сложения значение элемента с одинаковым ключом из последующего массива будет проигнорировано.
Вот как это выглядит в коде:
<?php
$myarray1 = ['name' => 'Дормидонт', 'secondName' => 'Платон', 'Никифор', 'wifeName' => 'Анфиса', 'sisterName' => 'Даздраперма', 95];
$myarray2 = [101, 92, 'name' => 'Иннокентий', 94, 95];
$result = array_merge($myarray1, $myarray2);
var_dump($result);
?>
Результат будет таким:
['name' => 'Дормидонт', 'secondName' => 'Платон', 'Никифор', 'wifeName' => 'Анфиса', 'sisterName' => 'Даздраперма', 95, 101, 92, 94, 95]
Еще один интересный способ объединить массивы PHP — это использовать метод «array_combine()». Особенность этого метода заключается в том, что он может объединить только 2 массива, при этом первый массив выступает в роли массива ключей, а второй массив выступает в роли массива значений.
Вот как это выглядит в коде:
<?php
$myarray1 = ['Дормидонт', 'Платон', 'Никифор', 'Анфиса', 'Даздраперма'];
$myarray2 = [101, 92, 93, 94, 95];
$result = array_combine($myarray1, $myarray2);
var_dump($result);
?>
Объединение этих двух массивов будет выглядеть так:
['Дормидонт' => 101, 'Платон' => 92, 'Никифор' => 93, 'Анфиса' => 94, 'Даздраперма' => 95]
Заключение
Сегодня мы рассмотрели, как можно объединить массивы в PHP несколькими вариантами, в частности с использованием метода «array_merge()». Также мы разобрали особенности применения этого метода. «array_merge()» — это не единственный способ объединить массивы, а всего лишь «один из нескольких». Какой способ использовать, чтобы объединить PHP-массивы? Зависит от вашей конкретной ситуации, так как каждый способ объединяет по-разному.
Web