# ch01 — 配列を作る

Source: https://php-school.pages.dev/topics/array-basic/ch01-create-array/
Site: AIと学ぶPHPの学校 (https://php-school.pages.dev)
Lesson: 配列の基本
Level: L2

Reference (official): https://www.php.net/manual/ja/language.types.array.php

## 本文

# ch01 — 配列を作る

## 概要

プログラムで「成績 3 教科分」「メンバー 5 人分」のように **同じ種類のデータを複数まとめて扱いたい** 場面は山ほどある。そのたびに `$score1`, `$score2`, `$score3` と変数を増やしていくと、ループも書けず、関数にも渡しにくい。**配列** は「複数の値を 1 つの箱にまとめて、添字で取り出せるようにした入れ物」で、ここから先のすべての処理 (走査・集計・並べ替え・整形) の出発点になる。

PHP では配列を `[1, 2, 3]` と書く。これが現在の **推奨記法** で、ドキュメントやフレームワークでもこの形が主流。古いコードでは `array(1, 2, 3)` という形も出てくるが、意味は同じなので「読めればよい」レベルで構わない。要素はカンマで区切り、文字列・数値・真偽値などを自由に混ぜられる。

PHP の配列にはひとつ知っておくべき特徴がある。**整数の添字で並べる配列と「キー = 値」で持つ連想配列が、内部的には同じ型** として扱われる。`[1, 2, 3]` は実際には `[0 => 1, 1 => 2, 2 => 3]` という「順序付きの対応表」だ。この章ではまず「整数の添字で並ぶ素直な配列」を作るところから始め、`print_r` で中身を覗いて、頭の中に箱のイメージを作る。

## 学習目標

- 複数の値を 1 つの変数にまとめる「配列」が書ける
- `[1, 2, 3]` 記法と `array(1, 2, 3)` 記法の両方を読める
- 作った配列を `print_r` などで確認できる

## 所要時間

スライド 4 分 + ドリル 2 問 = **12 分**

## ドリル

| no | 内容 |
|---|---|
| 01 | 整数 3 つを入れた配列を作って中身を表示 |
| 02 | 文字列 3 つを入れた配列を作って中身を表示 |

## 採点

```bash
php scripts/grade.php topics/array-basic/ch01-create-array/drill/01-int-array/
```

## 関連チャプター

- [`ch02-access-index`](../ch02-access-index/) — 作った配列から要素を取り出す
- [`ch03-modify-array`](../ch03-modify-array/) — 配列の要素を書き換える・追加する
- [`ch04-array-functions`](../ch04-array-functions/) — 配列を操作する組み込み関数

## スライド

---
marp: true
theme: dojo
paginate: true
size: 16:9
---

<!--
LLM_CONTEXT:
  Lesson 4 / Chapter 1
  目的: 配列リテラル [1, 2, 3] / array(1, 2, 3) で複数の値を 1 つの変数にまとめられるようにする
  扱わない: 添字アクセス (ch02) / 書き換え (ch03) / 関数 (ch04) / 連想配列 (L5)
  読み上げ時間目安: 3 分半〜4 分
-->

# 配列を作る

Lesson 4 / Chapter 1

---

## 値を 1 個ずつ変数に入れるのは面倒

```php
<?php
$a = 10;
$b = 20;
$c = 30;
$d = 40;
$e = 50;
```

- 値が増えるたびに変数名を考える必要がある
- 「全部足す」「最大を探す」処理が書きにくい
- **配列** を使えば 1 つの変数に複数の値を入れられる

---

## `[ ]` で配列を作る

```php
<?php
$nums = [10, 20, 30];
print_r($nums);
```

実行結果:

```
Array
(
    [0] => 10
    [1] => 20
    [2] => 30
)
```

- `[` と `]` の中に値を `,` で区切って並べる
- 1 つの変数 `$nums` に 3 つの値が入る

---

## `array( )` でも書ける

```php
<?php
$nums = array(10, 20, 30);
```

- `array(...)` は古い書き方
- 中身は `[...]` とまったく同じ
- 既存コードを読むときに困らないよう、形は覚えておく
- **これから書くなら `[ ]` で OK**

---

## 文字列の配列も作れる

```php
<?php
$fruits = ["りんご", "みかん", "ぶどう"];
print_r($fruits);
```

実行結果:

```
Array
(
    [0] => りんご
    [1] => みかん
    [2] => ぶどう
)
```

- 中身は数値でも文字列でも OK
- 同じ配列の中で型が混ざっていても動くが、普通は揃える

---

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

✅ `[1, 2, 3]` で配列を作れる
✅ `array(1, 2, 3)` という書き方も読める
✅ `print_r($arr)` で中身を確認できる
✅ 整数の配列も文字列の配列も作れる

→ ドリルへ
