Menu
CoddyTech

添加新的键值对

本课属于 Coddy PHP 学习旅程的“基础知识”单元。第 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

亲手试试

<?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自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: PHP 在线编译器