更新履歴
更新日 | 更新者 | 更新内容 |
---|---|---|
2021/8/18 | JJI | ・サンプルプログラムの実行結果に画面の画像を追加 |
可変関数
可変関数は、関数を変数で呼び出せる方法です。
関数を別名で呼び出す方法であり、コールバック関数で使用することがあります。
サンプルプログラム1
可変関数を使用したサンプルプログラムを載せておきます。
このサンプルプログラムは関数名を変数に設定し、呼び出すコードです。
あまり使用することはありませんが、一番わかりやすいと思います。
<?php
// 引数の値への厳密な型付け
declare(strict_types = 1);
echo "【PHP】関数<br>\n";
echo "【引数】可変関数<br>\n";
$foo = "output_var1"; // 関数名を変数に設定
$foo("テスト"); // 変数名で関数を呼び出す
function output_var1(string $str) :void {
echo '$str:' . $str . ":<br>\n";
}
?>
実行結果は次の通りです。
・画面

・HTML
【PHP】関数<br>
【引数】可変関数<br>
$str:テスト:<br>
サンプルプログラム2
次のサンプルプログラムはコールバック関数を使用したコードです。
<?php
// 引数の値への厳密な型付け
declare(strict_types = 1);
echo "【PHP】関数<br>\n";
echo "【引数】可変関数<br>\n";
// コールバック関数1を関数の引数で呼び出し
$callback_func = "output_no_name1";
output_call_noname("関数1", $callback_func);
// コールバック関数1を関数の引数で呼び出し
$callback_func = "output_no_name2";
output_call_noname("関数2", $callback_func);
// 引数にコールバック関数をもつ関数
function output_call_noname(string $var, callable $call) : void {
$call($var);
echo "<br>\n";
}
// コールバック関数1
function output_no_name1(string $str) :void {
echo '$str:' . $str . ":<br>\n";
}
// コールバック関数2
function output_no_name2(string $str) :void {
echo '$str$str:' . $str . $str . ":<br>\n";
}
?>
実行結果です。
・画面

・HTML
【PHP】関数<br>
【引数】可変関数<br>
$str:関数1:<br>
<br>
$str$str:関数2関数2:<br>
<br>
コメント