(краткое содержание)
Ключи и значения
В этой части урок мы рассмотрим функции, которые позволяют оперировать
частями элементов массивов.
array array_flip(array $array)
Эта функция меняет местами ключи и элементы массива. В результате ее
работы образуется новый массив.
Листинг 32.1. Функция array_flip()
1
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)
Слияние массивов.
В уроке 22 Вы изучали способы объединения массивов в один, а также
особенности таких операций.
С целью облегчить мучения разработчиков с данным вопросом, в PHP была
включена функция array_merge(), позволяющая объединять массивы в один:
array array_merge(array $array_1, array $array_2, …, array $array_N)
Суть ее работы в создании нового массива, в котором элементы
располагаются последовательно из каждого массива, указанного в параметрах
функции. В случаях, если в объединяемых массивах попадаются элементы с
одинаковыми ключами, в новый массив помещается тот элемент, который
относится к массиву, расположенному правее в параметрах функции. Рассмотрим,
как это происходит, в листинге 32.3.
Листинг 32.3. Слияние массивов функцией array_merge()
2
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)
$second_array = [
'Key4' => 'value4',
'Key5' => 'value5'
];
$third_array = [
'Key2' => 'valueN2',
'Key6' => 'value6',
'Key3' => 'valueN3'
];
Как видите, элементы массива first_array с ключами Key2 и Key3 при слиянии
были перекрыты элементами с такими же ключами из массива third_array.
Выделение подмассивов
В PHP для работы с массивами есть функции, очень похожие на функцию
substr() для работы со строками. Такие функции позволяют выделить из массива
заданный подмассив:
А) array array_slice(array $arr, int $offset [, int $length = null, bool $pr_keys = false])
Эта функция возвращает часть массива $arr с заданной длиной $length,
начиная с элемента $offset. Параметр $pr_keys в значении true сохраняет значения
ключей выделенного подмассива. Если параметр $length не задан, то проход
производится до конца массива.
В целом, параметры $offset и $length очень напоминают параметры $start и
$length функции substr() и также могут принимать как положительные, так и
отрицательные значения.
Б) array array_splice(array $arr, int $offset [, int $length, int $repl])
Данная функция работает похожим на array_slice() образом, но параллельно
выделению заданного подмассива элементов, она может заменить его на
подмассив $repl. Если $repl не указан, то выделенный подмассив удаляется из
исходного массива.
Рассмотрим принцип действия этих функций в листинге 32.4
Листинг 32.4. Функции array_slice() и array_splice()
3
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)
$array = [
'KeyA' => 'ValueA',
'KeyB' => 'ValueB',
'KeyC' => 'ValueC',
'KeyD' => 'ValueD',
'KeyE' => 'ValueE',
'KeyF' => 'ValueF'
];
4
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)
//Создаем массив-список
$array = ['Чемодан', 'Саквояж', 'Ридикюль', 'Рюкзак', 'Ранец'];
Множества чисел
Массивы-списки могут использоваться в PHP, как множества элементов.
Соответственно, для них возможно выполнение теоретико-множественных
операций, таких как объединение, пересечение, разность.
Для каждой из этих операций в наборе стандартных функций предусмотрена
соответствующая:
5
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)
$arr_assoc_1 = ['A' => 'Альфа', 'B' => 'Бета', 'C' => 'Гамма', 'D' => 'Дельта', 'E' => 'Омега',
'F' => 'Тета'];
$arr_assoc_2 = ['A' => 'Кси', 'B' => 'Пси', 'G' => 'Каппа', 'H' => 'Омикрон', 'I' => 'Сигма'];
$arr_assoc_1 = array_unique($arr_assoc_1);
$arr_assoc_2 = array_unique($arr_assoc_2);
$array_un = array_merge($arr_assoc_1, $arr_assoc_2);
6
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)