Ответ
В PHP массивы — это упорядоченные карты (hash tables), и их можно классифицировать по структуре и использованию ключей.
Основные виды по структуре:
- Одномерные массивы — содержат простые значения (строки, числа, объекты).
- Многомерные массивы — содержат другие массивы в качестве значений, позволяя создавать структуры вроде матриц или деревьев.
Основные виды по типу ключей:
- Индексные (числовые) массивы — используют последовательные целочисленные ключи, начинающиеся с 0.
$fruits = ['apple', 'banana', 'orange']; // Ключи: 0, 1, 2 - Ассоциативные массивы — используют строковые ключи для явной связи "ключ-значение".
$user = ['name' => 'John', 'email' => 'john@example.com']; - Смешанные массивы — могут содержать как числовые, так и строковые ключи одновременно. PHP это позволяет.
$mixed = [0 => 'a', 'id' => 123, 1 => 'b'];
Важные особенности:
- Все массивы в PHP по сути являются ассоциативными. "Индексный" массив — это частный случай ассоциативного с целочисленными ключами.
- Начиная с PHP 7.4, можно использовать типизированные свойства для массивов с помощью объявления типа
array. - Функции вроде
array_values()могут "сбросить" ключи к числовой последовательности, что полезно после операцийunset().