Web

Что такое PHP-функция array_merge с сохранением ключей: описание

Lorem ipsum dolor

Объединить массивы 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]

В этом способе есть важная особенность:

  1. Если при объединении массивов попадаются элементы с идентичными ключами, тогда значение элементов с этими ключами будет изменено, а именно: значение элемента из предыдущего массива будет заменено на значение элемента последующего массива. Но это касается только ключей типа «строка».

  2. Если объединяемые массивы обладают идентичными числовыми ключами, тогда значение элементов в этих ключах заменяться не будет, а будет определено в конец списка массива-результата.

Вот как эти особенности будут выглядеть в коде:

<?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-массивы? Зависит от вашей конкретной ситуации, так как каждый способ объединяет по-разному.

Схожие статьи

Лучший браузер для веб-разработчиков сайтов 2021
Web

Лучший браузер для веб-разработчиков сайтов 2021

Web

Как проверить, что все скобки правильно открыты/закрыты

Web

Преобразование объекта PHP в ассоциативный массив

Web

Перегрузка функций PHP