ch01 8章中 1章目

ch01 — 連想配列を作る

スライドで見る

この章を AI と学ぶ

💬 AI に聞く質問例 3 件
  1. 「ch01 — 連想配列を作る」のつまずきやすいポイントを、初学者向けに3つ教えてください

    ChatGPT Claude Gemini

  2. 「ch01 — 連想配列を作る」について、自分の手で試せる練習問題を3つ出してください (難易度を上げながら)

    ChatGPT Claude Gemini

  3. 「ch01 — 連想配列を作る」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください

    ChatGPT Claude Gemini

概要

連想配列 は「キーと値をペアで持つ配列」のこと。['name' => '太郎', 'age' => 20] のように、キー => 値 の形でデータを並べる。['太郎', 20] のような添字配列 (0, 1, 2... の数字で要素を取り出す) と違って、$user['name'] のように 意味のあるキー で値にアクセスできるのが特徴で、データに「ラベル」を貼って扱いたい時に使う。

ポイントは、PHP では添字配列と連想配列が 同じ array 型として扱われる こと。数字キーと文字列キーを 1 つの配列に混ぜることもできる (ただし実務ではあまり推奨されない)。多くの言語では「配列」と「辞書 (dict / map / hash)」が別物だが、PHP ではどちらも array の 1 機能として統一されている。この特殊性が、後の章で foreach やソートを学ぶ時に「どっちの配列でも同じ書き方で動く」というメリットにつながる。

この章ではまず 連想配列を作る ところから始める。=> (アロー) でキーと値を結びつける構文を体に入れて、$arr['key'] で値を取り出す感覚を掴むのが目標。標準入力からキーと値を読み込んでその場で連想配列を組み立てるドリル 03 まで進めば、後続の追加・走査・ソートに必要な土台が揃う。

学習目標

  • キーと値をペアで持つ「連想配列」が書ける
  • ['name' => '太郎']=> の意味を言える
  • $arr['name'] でキーを指定して値を取り出せる

ドリル

no 内容
01 name => 太郎 だけの連想配列を作って値を出力
02 name / age / city の 3 キーを持つ連想配列を出力
03 標準入力から key=値 の形式を 2 行読んで連想配列を組む

解説スライド 全 6 枚

右の ボタン キー(またはスワイプ)で次のスライドに進めます。 下の「縦表示」を開くと全スライドを一気に読めます。

  1. 連想配列を作る

    Lesson 5 / Chapter 1

  2. 添字配列だけだと「何の値か」が分かりにくい

    <?php
    $person = ["太郎", 20, "東京"];
    echo $person[0]; // 太郎
    echo $person[1]; // 20
    echo $person[2]; // 東京
    • [0] が名前、[1] が年齢…と覚えるのは大変
    • 連想配列 なら「名前」「年齢」「都市」のように キー を付けられる
  3. 'キー' => 値 で連想配列を作る

    <?php
    $person = [
        'name' => '太郎',
        'age'  => 20,
    ];
    print_r($person);

    実行結果:

    Array
    (
        [name] => 太郎
        [age] => 20
    )
    • => の左が キー、右が
    • キーは文字列で書くのが基本
  4. $arr['キー'] で値を取り出す

    <?php
    $person = [
        'name' => '太郎',
        'age'  => 20,
    ];
    
    echo $person['name'] . "\n"; // 太郎
    echo $person['age'] . "\n";  // 20
    • 添字配列の $nums[0] と同じ感覚で、添字の代わりにキーを書く
    • 存在しないキーを指定すると Warning が出る
  5. 改行を入れて読みやすく書ける

    <?php
    $person = [
        'name' => '太郎',
        'age'  => 20,
        'city' => '東京',
    ];
    • 1 つのキーずつ改行
    • 末尾の要素にも , を付けてよい (PHP では推奨)
    • => の位置を揃えると見やすい
  6. このチャプターでできるようになること

    ['key' => 値] で連想配列を作れる ✅ $arr['key'] で値を取り出せる ✅ print_r で中身を確認できる ✅ 複数キーを改行で並べて書ける

    → ドリルへ

1 / 6
📜 スライドを全部一気に読む(縦表示)

Lesson 5 / Chapter 1


添字配列だけだと「何の値か」が分かりにくい

<?php
$person = ["太郎", 20, "東京"];
echo $person[0]; // 太郎
echo $person[1]; // 20
echo $person[2]; // 東京
  • [0] が名前、[1] が年齢…と覚えるのは大変
  • 連想配列 なら「名前」「年齢」「都市」のように キー を付けられる

'キー' => 値 で連想配列を作る

<?php
$person = [
    'name' => '太郎',
    'age'  => 20,
];
print_r($person);

実行結果:

Array
(
    [name] => 太郎
    [age] => 20
)
  • => の左が キー、右が
  • キーは文字列で書くのが基本

$arr['キー'] で値を取り出す

<?php
$person = [
    'name' => '太郎',
    'age'  => 20,
];

echo $person['name'] . "\n"; // 太郎
echo $person['age'] . "\n";  // 20
  • 添字配列の $nums[0] と同じ感覚で、添字の代わりにキーを書く
  • 存在しないキーを指定すると Warning が出る

改行を入れて読みやすく書ける

<?php
$person = [
    'name' => '太郎',
    'age'  => 20,
    'city' => '東京',
];
  • 1 つのキーずつ改行
  • 末尾の要素にも , を付けてよい (PHP では推奨)
  • => の位置を揃えると見やすい

このチャプターでできるようになること

['key' => 値] で連想配列を作れる ✅ $arr['key'] で値を取り出せる ✅ print_r で中身を確認できる ✅ 複数キーを改行で並べて書ける

→ ドリルへ

この章で取り組む 演習問題の流れ (3ステップ)
  1. 01 ドリル 01 — name キーだけの連想配列 README.md starter.php answer.php
  2. 02 ドリル 02 — 3 つのキーを出力 README.md starter.php answer.php
  3. 03 ドリル 03 — 標準入力から連想配列を組む README.md starter.php answer.php

演習問題の詳細

この章の演習問題の内容を読めます。実際に手元で解くには教材リポジトリを clone してください。

ドリル 01 — name キーだけの連想配列

問題

キー name、値 太郎 を持つ連想配列を作り、$arr['name'] で値を取り出して 1 行出力してください。

期待される出力:

太郎

ヒント

  • $person = ['name' => '太郎'];
  • echo $person['name'] . "\n";

🧪 ブラウザで試す

スライドのコードを写経して ▶ 実行、自分で書いて 📝 採点 で答え合わせ。初回のみ PHP ランタイム読込で数秒かかります。

PHP ランタイム未読込

          

        

ドリル 02 — 3 つのキーを出力

問題

以下のキーと値を持つ連想配列を作ってください。

キー
name 太郎
age 20
city 東京

name, age, city の順に値を 1 行ずつ出力してください。

期待される出力:

太郎
20
東京

ヒント

  • ['name' => '太郎', 'age' => 20, 'city' => '東京'] のように 3 キー入れる
  • echo $arr['name'] . "\n"; を 3 回書けば OK

🧪 ブラウザで試す

スライドのコードを写経して ▶ 実行、自分で書いて 📝 採点 で答え合わせ。初回のみ PHP ランタイム読込で数秒かかります。

PHP ランタイム未読込

          

        

ドリル 03 — 標準入力から連想配列を組む

問題

標準入力から キー=値 形式の文字列が 2 行入力されます。 これを連想配列に格納し、キー name の値と age の値をこの順で 1 行ずつ出力してください。

入力例:

name=太郎
age=20

期待される出力:

太郎
20

ヒント

  • 2 行ループで $line = trim(fgets(STDIN));
  • explode('=', $line) でキーと値に分割
  • [0]key[1]value
  • $person[$key] = $value; で連想配列に追加

🧪 ブラウザで試す

スライドのコードを写経して ▶ 実行、自分で書いて 📝 採点 で答え合わせ。初回のみ PHP ランタイム読込で数秒かかります。

PHP ランタイム未読込

          

        

演習問題(3問)

  1. ドリル 01 — name キーだけの連想配列

    README.md starter.php answer.php

  2. ドリル 02 — 3 つのキーを出力

    README.md starter.php answer.php

  3. ドリル 03 — 標準入力から連想配列を組む

    README.md starter.php answer.php

サイト内で問題文・雛形・解答例を確認できます。実際に手元で解くには教材リポジトリを clone してください。

完了にすると進捗に反映されます