Синтаксически работа с ассоциативными массивами очень похожа на то, как мы работали с обычными массивами. Различия кроются в деталях.
Создание:
<?php
$user = ['name' => 'Vasya', 'married' => true, 'age' => 25];
Общий принцип такой: внутри квадратных скобок через запятую перечисляются пары ключ-значение в формате key => value
. Тип значения может быть любым, ключ — обычно, строка.
Если ключей много, то определение можно растянуть на несколько строк:
<?php
$user = [
'name' => 'Vasya',
'married' => true,
'age' => 25
];
Так же, как и с обычным массивом, ассоциативный массив можно создать пустым:
<?php
$user = [];
Синтаксически эта запись совпадает со способом создания обычного (пустого) массива. Возникает вопрос: как интерпретатор различает типы массивов? Хитрость в том, что в PHP индексированных массивов нет, все массивы — ассоциативные. Но если работать с ними так, как мы делали в предыдущем курсе, то он ведёт себя как индексированный массив (почти, различия всё же есть). Подробнее этот вопрос разбирается позже, в одном из уроков.
Извлекаются элементы из ассоциативного массива так:
<?php
$user['name']; // Vasya
$user['age']; // 25
Обращение к несуществующему ключу порождает PHP Notice
, что сродни ошибке.
Дополнительные материалы
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
- Статья «Как учиться и справляться с негативными мыслями»
- Статья «Ловушки обучения»
- Статья «Сложные простые задачи по программированию»
- Вебинар «Как самостоятельно учиться»
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.