ch01 6章中 1章目

ch01 — 関数を定義して呼び出す

スライドで見る

この章を AI と学ぶ

💬 AI に聞く質問例 3 件
  1. 「ch01 — 関数を定義して呼び出す」のつまずきやすいポイントを、初学者向けに3つ教えてください

    ChatGPT Claude Gemini

  2. 「ch01 — 関数を定義して呼び出す」について、自分の手で試せる練習問題を3つ出してください (難易度を上げながら)

    ChatGPT Claude Gemini

  3. 「ch01 — 関数を定義して呼び出す」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください

    ChatGPT Claude Gemini

概要

関数は 「処理にまとまった名前を付けて、何度でも呼び出せるようにする仕組み」 だ。挨拶や合計計算のように、同じコードを 2 回以上書きそうになったら、ほぼ間違いなく関数にまとめるサインになる。同じ処理を 1 か所に寄せておけば、後で文言や仕様が変わったときも 1 か所だけ直せばよく、コピペで散らばったコードを追いかける必要がなくなる。

PHP では function 名前() { ... } の形で関数を定義し、名前() の形で呼び出す。定義する位置はファイル内のどこでもよく、呼び出しより後ろに書いてもエラーにならない (関数はファイル読み込み時にまとめて登録される)。このチャプターでは引数も戻り値も持たない「もっとも素朴な関数」を題材に、定義と呼び出しのリズムを体に入れる。

この章でつまずきやすいのは 「関数を定義しただけで呼び出していない」 ケース。function greet() { ... } を書いただけでは何も実行されず、必ず greet(); のように呼び出して初めて中身が走る。function キーワードと { } ブロックの形を、まず確実に書けるところを目標にする。

学習目標

  • function 名前() { ... } で関数を定義できる
  • 名前() で関数を呼び出せる
  • 同じ処理を何度も書かずに済むメリットを実感する

ドリル

no 内容
01 greet() を定義して 3 回呼ぶ
02 2 つの関数を定義して順に呼ぶ

解説スライド 全 6 枚

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

  1. 関数を定義して呼び出す

    Lesson 7 / Chapter 1

  2. 同じ処理を何度も書くとつらい

    <?php
    echo "こんにちは\n";
    echo "こんにちは\n";
    echo "こんにちは\n";
    • 3 回ならまだ良いが、10 回・100 回となると修正が大変
    • 出力内容を変えるとき、全部の行を直す必要がある
    • 関数 にまとめれば、1 箇所直すだけで済む
  3. function 名前() { ... } で関数を定義

    <?php
    function greet() {
        echo "こんにちは\n";
    }
    • function の後に関数の 名前 を書く
    • () の後の { ... } の中に処理を書く
    • 定義しただけでは 実行されない
  4. 名前() で関数を呼び出す

    <?php
    function greet() {
        echo "こんにちは\n";
    }
    
    greet();
    greet();
    greet();

    実行結果:

    こんにちは
    こんにちは
    こんにちは
    • 関数名の後に () を付けると 呼び出し
    • 呼び出した回数だけ、中の処理が実行される
  5. 複数の関数を定義できる

    <?php
    function hello() {
        echo "Hello\n";
    }
    
    function bye() {
        echo "Bye\n";
    }
    
    hello();
    bye();
    • 1 つのファイルに何個でも関数を書ける
    • 呼び出す順番は自由
  6. このチャプターでできるようになること

    function 名前() { ... } で関数を定義できる ✅ 名前() で関数を呼び出せる ✅ 同じ関数を何度も呼び出せる ✅ 1 ファイルに複数の関数を書ける

    → ドリルへ

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

Lesson 7 / Chapter 1


同じ処理を何度も書くとつらい

<?php
echo "こんにちは\n";
echo "こんにちは\n";
echo "こんにちは\n";
  • 3 回ならまだ良いが、10 回・100 回となると修正が大変
  • 出力内容を変えるとき、全部の行を直す必要がある
  • 関数 にまとめれば、1 箇所直すだけで済む

function 名前() { ... } で関数を定義

<?php
function greet() {
    echo "こんにちは\n";
}
  • function の後に関数の 名前 を書く
  • () の後の { ... } の中に処理を書く
  • 定義しただけでは 実行されない

名前() で関数を呼び出す

<?php
function greet() {
    echo "こんにちは\n";
}

greet();
greet();
greet();

実行結果:

こんにちは
こんにちは
こんにちは
  • 関数名の後に () を付けると 呼び出し
  • 呼び出した回数だけ、中の処理が実行される

複数の関数を定義できる

<?php
function hello() {
    echo "Hello\n";
}

function bye() {
    echo "Bye\n";
}

hello();
bye();
  • 1 つのファイルに何個でも関数を書ける
  • 呼び出す順番は自由

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

function 名前() { ... } で関数を定義できる ✅ 名前() で関数を呼び出せる ✅ 同じ関数を何度も呼び出せる ✅ 1 ファイルに複数の関数を書ける

→ ドリルへ

この章で取り組む 演習問題の流れ (2ステップ)
  1. 01 ドリル 01 — greet 関数を 3 回呼ぶ README.md starter.php answer.php
  2. 02 ドリル 02 — 2 つの関数を順に呼ぶ README.md starter.php answer.php

演習問題の詳細

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

ドリル 01 — greet 関数を 3 回呼ぶ

問題

greet という名前の関数を定義してください。 中身は こんにちは を 1 行出力するだけです。 定義した後、greet() を 3 回呼んでください。

期待される出力:

こんにちは
こんにちは
こんにちは

ヒント

  • function greet() { ... } で定義
  • { } の中に echo "こんにちは\n";
  • 定義した下で greet(); を 3 行書く

🧪 ブラウザで試す

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

PHP ランタイム未読込

          

        

ドリル 02 — 2 つの関数を順に呼ぶ

問題

次の 2 つの関数を定義してください。

  • morning()おはよう を出力
  • evening()こんばんは を出力

定義した後、morning()evening() の順に呼んでください。

期待される出力:

おはよう
こんばんは

ヒント

  • function morning() { ... }function evening() { ... } の 2 つを書く
  • 定義の下で morning(); evening(); の順に呼び出す

🧪 ブラウザで試す

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

PHP ランタイム未読込

          

        

演習問題(2問)

  1. ドリル 01 — greet 関数を 3 回呼ぶ

    README.md starter.php answer.php

  2. ドリル 02 — 2 つの関数を順に呼ぶ

    README.md starter.php answer.php

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

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