PHP の可変関数について説明します

皆さん、こんにちは。管理人です。今回は、PHP の可変関数について説明します。

関数の名前を変数に格納しておく

可変関数とは、関数の名前を変数に格納しておき、その変数を呼び出すことで関数を実行することができるというものです。具体例で説明します。まずは次の PHP のプログラムを見てください。

<?php

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

echo add(4, 6);

これを実行すると、4 + 6 の計算結果である「10」が出力されます。

では、次の PHP プログラムを実行するとどうなるでしょうか?

<?php

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

$name = 'add';

echo $name(4, 6);

実はこれについても、実行すると「10」が出力されます。このプログラムについて簡単に説明します。関数 add(int $a, int $b) は、2つの引数の和を返す関数です。そして $name にはその関数の名前である 'add' という文字列が格納されます。そして、echo $name(4, 6);add(4, 6) が実行され、その返り値である 10 が echo されるというわけです。

なお、10行目で echo $name(4, 6); ではなく単に echo $name; とすると、$name に格納された文字列が出力されるので「add」が出力されます。

参考

可変関数 – Manual – PHP
https://www.php.net/manual/ja/functions.variable-functions.php#:~:text=%E5%8F%AF%E5%A4%89%E9%96%A2%E6%95%B0%20%C2%B6,%E6%A6%82%E5%BF%B5%E3%82%92%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%97%E3%81%BE%E3%81%99%E3%80%82

コメント

タイトルとURLをコピーしました