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
?>空の配列から始めて必要に応じてペアを追加するのは、時間をかけてデータを収集する場合やすべてのキーを事前に知らない場合に一般的なパターンです。
チャレンジ
簡単$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チートシート
連想配列に新しいキー・値ペアを追加するには、変更する場合と同じ構文を使用します:$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 Types3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators