六帖のかたすみ

DVを受けていた男性。家を脱出して二周目の人生を生きています。自閉症スペクトラム(受動型)です。http://rokujo.org/ に引っ越しました。

PHPフリーダムその4、可変変数による関数コール

$変数名()
で変数名と同じ名前の関数をコールできる。

<?php
switch ($which) {
    case 'first':
        first();
        break;
    case 'second':
        second();
        break;
    case 'third':
        third();
        break;
?>

これは次のコードと等しい。

<?php
$which(); 
?>

何でもありだな。$whichの名前をもつ関数がなければ当然ランタイムエラーなので、次のようにしてエラーを予防できる。

<?php
if (function_exists($which)) {
    $which();
}
?>