Menu
Coddy logo textTech

Adding New Key-Value Pairs

Часть раздела Основы путешествия по PHP на Coddy — урок 44 из 71.

Вы научились изменять существующие значения в ассоциативном массиве. Но что происходит, когда вы присваиваете значение ключу, который ещё не существует? PHP автоматически создаёт его для вас.

<?php
$person = [
    "name" => "Alice",
    "age" => 25
];

$person["city"] = "Paris";
$person["job"] = "Developer";

echo $person["city"]; // Paris
echo $person["job"];  // Developer
?>

Синтаксис такой же, как при модификации —$array["key"] = value— но когда ключ не существует, PHP добавляет новую пару ключ-значение в массив вместо обновления существующей.

Это особенно полезно при постепенном построении ассоциативного массива:

<?php
$settings = [];

$settings["theme"] = "dark";
$settings["language"] = "en";
$settings["notifications"] = true;

echo $settings["theme"]; // dark
?>

Начиная с пустого массива и добавляя пары по мере необходимости, — это распространённый шаблон при сборе данных со временем или когда вы не знаете все ключи заранее.

challenge icon

Задание

Легко

Начните с пустого ассоциативного массива под названием $profile.

Прочитайте следующие входные данные:

  • Строка key1 — первый ключ для добавления
  • Строка value1 — значение для key1
  • Строка key2 — второй ключ для добавления
  • Строка value2 — значение для key2
  • Строка key3 — третий ключ для добавления
  • Строка value3 — значение для key3

Добавьте каждую пару ключ-значение в массив $profile, затем выведите:

  1. Значение, связанное с key1
  2. Значение, связанное с key2
  3. Значение, связанное с key3

Выведите каждый результат на отдельной строке.

Пример:

Если входные данные username, alice123, email, alice@example.com, status и active, то вывод должен быть:

alice123
alice@example.com
active

Если входные данные brand, Nike, size, 42, color и black, то вывод должен быть:

Nike
42
black

Шпаргалка

Чтобы добавить новую пару ключ-значение в ассоциативный массив, используйте тот же синтаксис, что и для модификации: $array["key"] = value. Если ключ не существует, PHP автоматически создаст его:

<?php
$person = [
    "name" => "Alice",
    "age" => 25
];

$person["city"] = "Paris";
$person["job"] = "Developer";
?>

Вы можете начать с пустого массива и постепенно его строить:

<?php
$settings = [];

$settings["theme"] = "dark";
$settings["language"] = "en";
$settings["notifications"] = true;
?>

Попробуйте сами

<?php
// Читаем входные данные
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));
$key3 = trim(fgets(STDIN));
$value3 = trim(fgets(STDIN));

// Начинаем с пустого ассоциативного массива
$profile = [];

// TODO: Напишите свой код ниже
// Добавляем каждую пару ключ-значение в массив $profile


// Выводим значения, связанные с каждым ключом
echo $profile[$key1] . "\n";
echo $profile[$key2] . "\n";
echo $profile[$key3] . "\n";
?>
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы