PHP: Ассоциативные массивы
2026-02-26 20:55 Diff

Общий список функций для работы с ассоциативными массивами довольно большой. Можно выделить несколько функций, которые встречаются во всех языках программирования, где есть ассоциативные массивы.

array_keys

Функция array_keys извлекает из ассоциативного массива ключи и создает из них массив.

Типичное применение данной функции в языках отличных от PHP — обход ассоциативного массива:

В PHP то же самое делается прямым обходом ассоциативного массива, но знать про функцию все равно полезно. Например, в формате JSON (как и в языках, отличных от PHP) массив и ассоциативный массив — разные типы данных.

Выше files — обычный массив, а config — ассоциативный.

array_values

Функция array_values извлекает из ассоциативного массива значения и создает из них массив.

array_merge

Наиболее интересная функция — array_merge или так называемое слияние. Слияние двух массивов порождает новый массив, в котором поверх первого массива накладывается второй по следующим правилам:

  • Если в первом массиве есть ключ, которого нет во втором, то он остаётся
  • Если в первом и во втором массиве есть один и тот же ключ, то его значением становится значение из второго массива
  • Если в первом массиве нет ключа, который есть во втором, то он добавляется

Операция слияния не коммутативна, так же, как и вычитание. Изменение порядка аргументов (перемена массивов) приведёт к другому результату.

Эта функция умеет работать с большим количеством массивов, но принцип остается тот же. При совпадении ключа в нескольких массивах, значение становится то, которое находилось в последнем массиве: