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

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

Web

Заменить уведомление о невыполнении заказа на количество невыполненных заказов для каждого элемента корзины на странице WooCommerce

Web

Определение размера удаленного файла без загрузки файла

Что такое видеохостинги типа Ютуба, как на них можно загружать видео
Web

Что такое видеохостинги типа Ютуба, как на них можно загружать видео

Web

Laravel не видит модель