В PHP индексом массива может быть не только число, но и строка. Причем на такую строку не накладываются никакие ограничения: она может содержать пробелы, длина такой строки может быть любой.
Ассоциативные массивы особенно удобны в ситуациях, когда элементы массива удобнее связывать со словами, а не с числами.
Итак, массивы, индексами которых являются строки, называются ассоциативными массивами.
Одномерные ассоциативные массивы:
Одномерные ассоциативные массивы содержат только один ключ (элемент), соответствующий конкретному индексу ассоциативного массива. Приведем пример:
<?php // Ассоциативный массив $names["Иванов"]="Иван"; $names["Сидоров"]="Николай"; $names["Петров"]="Петр"; // В данном примере: фамилии - ключи ассоциативного массива // , а имена - элементы массива names ?>
Доступ к элементам одномерных ассоциативных массивов осуществляется так же, как и к элементам обыкновенных массивов, и называется доступом по ключу:
echo $names["Иванов"];
Многомерные ассоциативные массивы:
Многомерные ассоциативные массивы могут содержать несколько ключей, соответствующих конкретному индексу ассоциативного массива. Рассмотрим пример многомерного ассоциативного массива:
Как вы уже заметили, для создания многомерного ассоциативного массива мы использовали специальную функциюarray, мы ее рассмотрим позже, когда будем рассматривать операции над массивами.
Ассоциативные многомерные массивы можно создавать и классическим способом, хотя это не так удобно: