新しいキーと値のペアを追加
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
?>空の配列から始め、必要に応じてペアを追加するのは、時間をかけてデータを収集する場合や、最初からすべてのキーがわからない場合によく使われるパターンです。
チャレンジ
簡単空の連想配列 $profile から始めます。
次の入力を読み取ります。
- 文字列
key1- 追加する最初のキー - 文字列
value1-key1の値 - 文字列
key2- 追加する2番目のキー - 文字列
value2-key2の値 - 文字列
key3- 追加する3番目のキー - 文字列
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自分で試してみよう
<?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";
?>このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: PHPオンラインコンパイラ