可变函数
在前面我们学习了可变变量,它的实现是在一个变量前添加一个“$”符号,就变成了另外一个变量。同理,可变函数的实现就是在一个变量名后添加一对圆括号“()”,让其变成一个函数的形式,然后PHP就寻找与变量值同名的函数,并且尝试执行它。
下面通过代码演示可变函数的使用。
function shout()
{
echo 'come on....';
}
$funcname = 'shout'; // 定义变量,其值是函数的名称
echo $funcname(); // 利用可变变量调用函数
在上述代码中,变量$funcname保存了一个用户自定义的函数名称shout,并在第6行中通过可变函数$funcname()的方式进行调用,最后在浏览器中输出“come on....”。
值得一提的是,变量的值可以是用户自定义的函数名称,也可以是PHP内置的函数名称,但是变量的值必须是实际存在的函数的名称,如上述案例中的“shout”。
在PHP中,有一些语言构造器的用法和函数相似,容易和函数混淆。PHP常用的语言构造器有echo、print、exit、die、isset、unset、include、require、array、list、empty等。相比函数,语言构造器的执行速度更快,但它不能通过可变函数的方式调用。