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();
}
?>

コメントを残す

メールアドレスが公開されることはありません。