Ассоциативные массивы

Тренажер по PHP для пользователей с начальным уровнем подготовки.

Тренажер PHP

Ассоциативные массивы — это как индексированные, но гораздо удобнее, когда у данных есть осмысленное имя. Вместо числовых индексов (0, 1, 2) мы используем строковые ключи (например, 'name', 'age', 'city'). Это делает код более читаемым и понятным. В этом уроке мы научимся создавать такие массивы, обращаться к их элементам по ключу, изменять и добавлять данные, а также перебирать их в цикле. Задания проведут тебя от основ синтаксиса до практических примеров использования.

Список тем

Создание ассоциативного массива

id: 38958_task_1

Давай создадим базовый ассоциативный массив. Твоя задача — правильно оформить пару "ключ-значение". Заполни пропуски, чтобы создать массив `$user` с ключом `'name'` и значением `'Alex'`, а также ключом `'age'` и значением `30`.

Заполните пропуски
<?php

$user = [
    input1S => 'Alex',
    'age' input2S 30
];

print_r($user);
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Доступ к элементу по ключу

id: 38958_task_2

У нас есть массив `$product`, описывающий товар. Твоя задача — получить доступ к его цене и вывести её на экран. Заполни пропуски, чтобы код вывел значение, соответствующее ключу `'price'`.

Заполните пропуски
<?php

$product = [
    'title' => 'Coffee Maker', 
    'price' => 99,
    'in_stock' => true
];

echo input1S[input2S];
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Исправьте неправильный оператор

id: 38958_task_3

При создании массива `$car` была допущена синтаксическая ошибка. Вместо оператора для создания пары "ключ-значение" был использован оператор для доступа к свойствам объекта. Найди и исправь ошибку.

Найдите ошибку и исправьте
<?php
$car = [ 'brand' -> 'Toyota', 'year' => 2021 ];
echo $car['brand'];
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Результат перезаписи значения

id: 38958_task_4

Мы создали массив `$order` с определенным статусом. Затем мы обновили этот статус. Проанализируй код и напиши в поле для ответа, какое итоговое значение будет выведено на экран.

Что должно получиться?
<?php

$order = ['id' => 101, 'status' => 'pending'];

// A bit later...
$order['status'] = 'completed';

echo $order['status'];
Сообщения
Проверить
Показать подсказку

Добавь новое свойство из банка

id: 38958_task_5

В массив, описывающий пользователя, нужно добавить информацию о его городе. Используя готовые токены из банка, дополни код так, чтобы в массив `$profile` добавился ключ `'city'` со значением `'New York'`.

Нужно правильно расставить в пропуски предложенные варианты
<?php

$profile = ['name' => 'Jane'];

input1S[input2S] = input3S;

print_r($profile);
$profile
'city'
'New York'
'name'
Jane
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Доступ к несуществующему ключу

id: 38958_task_6

Программист пытается получить язык интерфейса из массива настроек. Однако ключ `'language'` в массиве отсутствует. Что выведет данный код и как поведет себя PHP? Выбери наиболее точное описание результата.

Выберите правильный вариант ответа
<?php

// error_reporting(E_ALL); // Представим, что отчет об ошибках включен
$settings = ['theme' => 'dark', 'font_size' => 14];
echo $settings['language'];
Сообщения
Проверить
Показать подсказку

Собери цикл foreach для вывода данных

id: 38958_task_7

Цикл `foreach` идеально подходит для перебора ассоциативных массивов. Собери из перемешанных строк работающий скрипт, который перебирает массив `$capitals` и для каждой страны выводит столицу в формате: "The capital of [Страна] is [Город]". Неиспользуемые строки являются лишними.

Перетяните в правильном порядке строки из одного блока в другой
foreach ($capitals as $country => $city) {
$capitals = ['France' => 'Paris', 'Japan' => 'Tokyo'];
<?php
    echo "The capital of $country is $city\n";
}
for ($i = 0; $i < count($capitals); $i++) {
echo $city;
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Сопоставь функции и их назначение

id: 38958_task_8

В PHP есть множество полезных функций для работы с массивами. Сопоставь каждой функции из правой колонки её правильное описание из левой колонки.

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
Проверяет, существует ли ключ в массиве
Возвращает все ключи массива
Возвращает все значения массива
Сортирует массив по ключам
array_keys()
array_values()
ksort()
array_key_exists()
Сообщения
Проверить
Показать подсказку
🚀 Визуализатор кода
0 / 0
Скорость:
Режим:
💡 Что происходит?
Загрузите пример для начала...
🤔
Проверка знаний
История шагов
Готов
НайтиКурс.Ру