カテゴリ: PHP 更新日: 2025/10/31

PHPの関数を変数に代入する方法を解説!初心者向けコールバック関数の使い方

PHP の関数を変数に代入する方法(コールバック関数)
PHP の関数を変数に代入する方法(コールバック関数)

先生と生徒の会話形式で理解しよう

生徒

「PHPで、関数を変数みたいに扱えるって聞いたんですけど、本当ですか?」

先生

「はい、PHPでは関数を変数に代入して使うことができます。これをコールバック関数と呼びますよ。」

生徒

「コールバック関数ってなんだか難しそうです…。初心者でも理解できますか?」

先生

「もちろん大丈夫です!日常の例えを使いながら、PHPで関数を変数に入れる方法を、やさしく丁寧に説明していきましょう。」

-

1. PHPの関数を変数に代入するとは?

1. PHPの関数を変数に代入するとは?
1. PHPの関数を変数に代入するとは?

PHPでは、関数の名前を文字列(もじれつ)として扱うことで、それを変数に代入することができます。こうすることで、関数を「あとで呼び出す」「別の関数に渡す」といった使い方ができます。

このような仕組みをコールバック関数(callback function)と呼びます。

「コールバック」という言葉には、「呼び戻す」「後で呼び出す」という意味があります。

2. PHPで関数を変数に代入する基本の書き方

2. PHPで関数を変数に代入する基本の書き方
2. PHPで関数を変数に代入する基本の書き方

それでは、PHPで関数を変数に代入して使う基本的な例を見てみましょう。


function sayHello($name) {
    return "こんにちは、" . $name . "さん!";
}

$greeting = "sayHello"; // 関数名を文字列で代入
echo $greeting("太郎");

このコードでは、sayHelloという関数を$greetingという変数に代入しています。そして、$greeting("太郎")と書くことで、関数が呼び出されます。

3. コールバック関数って何に使うの?

3. コールバック関数って何に使うの?
3. コールバック関数って何に使うの?

たとえば「お料理のレシピ」を考えてみてください。人によって、炒める順番や調味料の使い方が少しずつ違いますよね。

その部分だけを「変えられるようにする」と、いろんなパターンに対応できます。

コールバック関数も同じように、「この部分はあとで決める」という柔軟な仕組みを作るために使われます。

4. 配列に対して関数を使いたいときの例(array_map)

4. 配列に対して関数を使いたいときの例(array_map)
4. 配列に対して関数を使いたいときの例(array_map)

PHPでは、配列の中身を一括で変換する関数としてarray_mapがあります。このとき、コールバック関数がとても役に立ちます。


function square($num) {
    return $num * $num;
}

$numbers = [1, 2, 3, 4, 5];
$result = array_map("square", $numbers);

print_r($result);

array_mapは、「配列の中のそれぞれの値に対して関数を適用する」処理です。この例では、square関数が各数字に使われて、それぞれの2乗(にじょう)の値が返されます。

-

5. 無名関数(匿名関数)も変数に代入できる

5. 無名関数(匿名関数)も変数に代入できる
5. 無名関数(匿名関数)も変数に代入できる

PHPでは「名前のない関数(無名関数)」も作ることができて、これを変数に代入して使うことも可能です。


$add = function($a, $b) {
    return $a + $b;
};

echo $add(5, 3);

このように、functionキーワードを使って、関数そのものを直接変数に入れることができます。

この仕組みは「無名関数(anonymous function)」とか「クロージャ(closure)」とも呼ばれます。

6. 実行結果を確認してみよう

6. 実行結果を確認してみよう
6. 実行結果を確認してみよう

前のコードをPHPで実行すると、次のような結果になります。


8

$add(5, 3)によって、5と3が足されて「8」が表示されます。

関数を変数に代入しておくことで、あとから自由に呼び出すことができるのが便利なポイントです。

7. コールバック関数のメリットと注意点

7. コールバック関数のメリットと注意点
7. コールバック関数のメリットと注意点

PHPでコールバック関数を使うメリットには、次のようなものがあります。

  • 処理の一部を柔軟に切り替えられる
  • コードの再利用性が高くなる
  • プログラムの見通しが良くなる

ただし、注意点もあります。関数名を文字列で指定するため、スペルミスや、関数が定義されていないとエラーになることもあります。

8. 初心者におすすめの練習方法

8. 初心者におすすめの練習方法
8. 初心者におすすめの練習方法

初心者の方は、まず次のような練習をしてみましょう。

  • 自分で関数を定義して変数に入れてみる
  • 配列に対してarray_maparray_filterを使ってみる
  • 無名関数を使ってシンプルな処理を書いてみる

コールバック関数は難しく見えますが、「関数をあとで呼び出す仕組み」と考えればシンプルです。

実際にPHPのコードを書いて、変数と関数の関係を少しずつ理解していきましょう。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
PHPでセッションを使ってフォーム入力を保持する方法を解説!初心者向けステップバイステップ
Pythonで文字列をリストに変換する方法!split()とjoin()の使い方
Pythonの変数とは?定義方法とデータ型を初心者向けに解説
PHPでメールフォームを作る方法を徹底解説!初心者向けにmail関数とPHPMailerの使い方も紹介
人気記事
No.1
PHP&Python記事人気No1
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
PHP&Python記事人気No2
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.3
PHP&Python記事人気No3
Pythonのリストを辞書に変換する方法(dict() / zip())
No.4
PHP&Python記事人気No4
初心者向けにPHP でファイルを開く・読み込む・書き込む方法(fopen, fwrite, fread)を解説する記事
-