Menu
Coddy logo textTech

Adding New Key-Value Pairs

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 - 追加する2番目のキー
  • 文字列 value2 - key2 の値
  • 文字列 key3 - 追加する3番目のキー
  • 文字列 value3 - key3 の値

各キー・バリュー対を $profile 配列に追加し、次に印刷します:

  1. key1 に関連付けられた値
  2. key2 に関連付けられた値
  3. key3 に関連付けられた値

各結果を別々の行に印刷します。

例:

入力が usernamealice123emailalice@example.comstatusactive の場合、出力は次のようになります:

alice123
alice@example.com
active

入力が brandNikesize42colorblack の場合、出力は次のようになります:

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腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン