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
?>Начиная с пустого массива и добавляя пары по мере необходимости, — это распространённый шаблон при сборе данных со временем или когда вы не знаете все ключи заранее.
Задание
ЛегкоНачните с пустого ассоциативного массива под названием $profile.
Прочитайте следующие входные данные:
- Строка
key1— первый ключ для добавления - Строка
value1— значение дляkey1 - Строка
key2— второй ключ для добавления - Строка
value2— значение дляkey2 - Строка
key3— третий ключ для добавления - Строка
value3— значение дляkey3
Добавьте каждую пару ключ-значение в массив $profile, затем выведите:
- Значение, связанное с
key1 - Значение, связанное с
key2 - Значение, связанное с
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";
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic7Arrays Part 2 - Associative
Intro to Associative ArraysAccessing Values by KeyModifying Values by KeyAdding New Key-Value PairsCheck if Key ExistsRecap - Key-Value Data Store2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators