PHP: Ассоциативные массивы
Теория: Популярные функции для работы с ассоциативными массивами
Общий список функций для работы с ассоциативными массивами довольно большой. Можно выделить несколько функций, которые встречаются во всех языках программирования, где есть ассоциативные массивы.
array_keys
Функция array_keys извлекает из ассоциативного массива ключи и создает из них массив.
Типичное применение данной функции в языках отличных от PHP — обход ассоциативного массива:
В PHP то же самое делается прямым обходом ассоциативного массива, но знать про функцию все равно полезно. Например, в формате JSON (как и в языках, отличных от PHP) массив и ассоциативный массив — разные типы данных.
Выше files — обычный массив, а config — ассоциативный.
array_values
Функция array_values извлекает из ассоциативного массива значения и создает из них массив.
array_merge
Наиболее интересная функция — array_merge или так называемое слияние. Слияние двух массивов порождает новый массив, в котором поверх первого массива накладывается второй по следующим правилам:
- Если в первом массиве есть ключ, которого нет во втором, то он остаётся
- Если в первом и во втором массиве есть один и тот же ключ, то его значением становится значение из второго массива
- Если в первом массиве нет ключа, который есть во втором, то он добавляется
Операция слияния не коммутативна, так же, как и вычитание. Изменение порядка аргументов (перемена массивов) приведёт к другому результату.
Эта функция умеет работать с большим количеством массивов, но принцип остается тот же. При совпадении ключа в нескольких массивах, значение становится то, которое находилось в последнем массиве:
.png)
