ch04 8章中 4章目

ch04 — 配列の基本関数

スライドで見る

この章を AI と学ぶ

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

    ChatGPT Claude Gemini

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

    ChatGPT Claude Gemini

  3. 「ch04 — 配列の基本関数」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください

    ChatGPT Claude Gemini

概要

配列に対して 「要素数を数える」「合計を出す」「最大値を取る」 という処理は、現場で毎日のように発生する。これを毎回 for ループで書いていると、コードが長くなり、ミスも増える。PHP には配列を扱う 組み込み関数が 200 以上 用意されていて、よく使うものを覚えておくと数行で済む処理がたくさんある。

この章ではその第一歩として、最頻出の 4 つを身につける。count($arr) は要素数を返す。array_sum($arr) は数値配列の合計を一発で計算する。max($arr)min($arr) は最大値・最小値をそれぞれ返す。どれも引数に配列を渡すだけで動くシンプルな関数で、「使えるかどうか」で書くスピードが変わってくる。

組み込み関数を使う最大のメリットは、自分で for ループを書くより速くて短く、バグが入りにくい こと。PHP の組み込み関数は C 言語で書かれていて高速だし、何より「合計を求めたい」という意図がコード上ですぐ読み取れる。次章では同じ処理を あえて for で組む ことで「裏で何が起きているか」を理解するが、本番のコードでは積極的に組み込みを使う。これがプロのコードらしさの第一歩になる。

学習目標

  • count($arr) で要素数を取得できる
  • array_sum($arr) で合計を一発で計算できる
  • max($arr) min($arr) で最大・最小を取得できる

ドリル

no 内容
01 count() で要素数を出力
02 array_sum() で合計を出力
03 max()min() を組み合わせて「最大 - 最小」を出力

解説スライド 全 7 枚

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

  1. 配列の基本関数

    Lesson 4 / Chapter 4

  2. 配列にはよく使う関数がある

    <?php
    $nums = [10, 20, 30, 40, 50];
    
    echo count($nums) . "\n";       // 5
    echo array_sum($nums) . "\n";   // 150
    echo max($nums) . "\n";         // 50
    echo min($nums) . "\n";         // 10
    • ループを書かなくても、関数 1 つで「個数」「合計」「最大」「最小」が取れる
    • 集計処理を 短く 書ける
  3. count($arr) — 要素数

    <?php
    $fruits = ["りんご", "みかん", "ぶどう"];
    echo count($fruits) . "\n";   // 3
    • 配列に入っている 要素の数 を返す
    • 「ループの回数」や「最後の添字を計算」するときに使う
  4. array_sum($arr) — 合計

    <?php
    $scores = [80, 90, 100];
    echo array_sum($scores) . "\n";   // 270
    • 配列の全要素を 足した結果 を返す
    • 中身は数値であることが前提 (文字列だと 0 として扱われる)
  5. max($arr) / min($arr) — 最大・最小

    <?php
    $temps = [22, 30, 18, 27];
    
    echo max($temps) . "\n";   // 30
    echo min($temps) . "\n";   // 18
    • max($arr) は最大値
    • min($arr) は最小値
    • 2 つを組み合わせれば「最大と最小の差 (レンジ)」も計算できる
    echo (max($temps) - min($temps)) . "\n";   // 12
  6. 平均 = 合計 ÷ 個数

    <?php
    $scores = [80, 90, 100];
    $avg = array_sum($scores) / count($scores);
    echo $avg . "\n";   // 90
    • array_sum()count() を組み合わせれば平均が出る
    • 0 で割らないよう、件数が 0 でないことを先に確認することもある
  7. このチャプターでできるようになること

    count($arr) で要素数を取れる ✅ array_sum($arr) で合計を取れる ✅ max($arr) min($arr) で最大・最小を取れる ✅ これらを組み合わせて平均や差を計算できる

    → ドリルへ

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

Lesson 4 / Chapter 4


配列にはよく使う関数がある

<?php
$nums = [10, 20, 30, 40, 50];

echo count($nums) . "\n";       // 5
echo array_sum($nums) . "\n";   // 150
echo max($nums) . "\n";         // 50
echo min($nums) . "\n";         // 10
  • ループを書かなくても、関数 1 つで「個数」「合計」「最大」「最小」が取れる
  • 集計処理を 短く 書ける

count($arr) — 要素数

<?php
$fruits = ["りんご", "みかん", "ぶどう"];
echo count($fruits) . "\n";   // 3
  • 配列に入っている 要素の数 を返す
  • 「ループの回数」や「最後の添字を計算」するときに使う

array_sum($arr) — 合計

<?php
$scores = [80, 90, 100];
echo array_sum($scores) . "\n";   // 270
  • 配列の全要素を 足した結果 を返す
  • 中身は数値であることが前提 (文字列だと 0 として扱われる)

max($arr) / min($arr) — 最大・最小

<?php
$temps = [22, 30, 18, 27];

echo max($temps) . "\n";   // 30
echo min($temps) . "\n";   // 18
  • max($arr) は最大値
  • min($arr) は最小値
  • 2 つを組み合わせれば「最大と最小の差 (レンジ)」も計算できる
echo (max($temps) - min($temps)) . "\n";   // 12

平均 = 合計 ÷ 個数

<?php
$scores = [80, 90, 100];
$avg = array_sum($scores) / count($scores);
echo $avg . "\n";   // 90
  • array_sum()count() を組み合わせれば平均が出る
  • 0 で割らないよう、件数が 0 でないことを先に確認することもある

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

count($arr) で要素数を取れる ✅ array_sum($arr) で合計を取れる ✅ max($arr) min($arr) で最大・最小を取れる ✅ これらを組み合わせて平均や差を計算できる

→ ドリルへ

この章で取り組む 演習問題の流れ (3ステップ)
  1. 01 ドリル 01 — 要素数を数える README.md starter.php answer.php
  2. 02 ドリル 02 — 合計を計算 README.md starter.php answer.php
  3. 03 ドリル 03 — 最大と最小の差 README.md starter.php answer.php

演習問題の詳細

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

ドリル 01 — 要素数を数える

問題

配列 [3, 1, 4, 1, 5, 9, 2, 6] の要素数を count() で取得し、echo で 1 行出力してください。

期待される出力:

8

ヒント

  • $nums = [3, 1, 4, 1, 5, 9, 2, 6];
  • echo count($nums) . "\n";

🧪 ブラウザで試す

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

PHP ランタイム未読込

          

        

ドリル 02 — 合計を計算

問題

配列 [12, 8, 25, 5, 50] の合計を array_sum() で計算し、echo で 1 行出力してください。

期待される出力:

100

ヒント

  • $nums = [12, 8, 25, 5, 50];
  • echo array_sum($nums) . "\n";

🧪 ブラウザで試す

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

PHP ランタイム未読込

          

        

ドリル 03 — 最大と最小の差

問題

配列 [22, 30, 18, 27, 25] について、最大値と最小値の (最大 - 最小) を echo で 1 行出力してください。

期待される出力:

12

ヒント

  • $nums = [22, 30, 18, 27, 25];
  • echo (max($nums) - min($nums)) . "\n";

🧪 ブラウザで試す

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

PHP ランタイム未読込

          

        

演習問題(3問)

  1. ドリル 01 — 要素数を数える

    README.md starter.php answer.php

  2. ドリル 02 — 合計を計算

    README.md starter.php answer.php

  3. ドリル 03 — 最大と最小の差

    README.md starter.php answer.php

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

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