PHP: Ассоциативные массивы
Ассоциативный массив - массив, у которого каждый элемент состоит из пары ключ => значение
. Ключ - строка, используемая вместо числового индекса, для доступа к значению элемента.
Создание ассоциативного массива
Ассоциативный массив можно создать как с помощью конструктора array()
, так и при помощи короткого синтаксиса - квадратных скобок. Для указания элементов используется формат ключ => значение
:
$my_array = array('foo' => 'bar', 'bar' => 'foo'); $my_array = ['foo' => 'bar', 'bar' => 'foo'];
С отступами, которые вы видите в этом примере, легче добавлять элементы в массив и легче отслеживать, какому ключу какое соответствует значение, чем когда они записаны в одну строку.
Примечание: обратите внимание, что в отличие от числовых индексов, ключи заключены в апострофы, так как они являются строками.
Для доступа к значению элемента в ассоциативных массивах используются только строковые ключи, по индексу значение получить нельзя:
$my_array = ['foo' => 'bar', 'bar' => 'foo']; echo $my_array['foo']; // bar echo $my_array[0]; // будет ошибка, так как элемента с индексом 0 в массиве нет
Смешанные массивы
Обратите вниманием, в PHP массивы могут содержать ключи типов int
и string
одновременно, т.е. PHP не делает различия между индексированными и ассоциативными массивами:
$my_array = ['Солнце' => 'яркое', 'колесо' => 'круглое', 10 => 'дом', -5 => 290];
Массивы с двумя типами ключей называют смешанными.
С этой темой смотрят: