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];
Массивы с двумя типами ключей называют смешанными.
С этой темой смотрят: