Menu
Coddy logo textTech

新しいキーと値のペアを追加

CoddyのPHPジャーニー「基礎」セクションの一部。レッスン 44/71。

associative array 内の既存の values を変更する方法を学びました。しかし、まだ存在しない key に value を割り当てるとどうなるでしょうか?PHP が自動的に作成してくれます。

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

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

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

構文は $array["key"] = value を変更する場合と同じですが、key が存在しない場合、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

自分で試してみよう

<?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オンラインコンパイラ