通过变量设置函数名是否是有效的PHP


Would setting a function name by a variable be valid PHP?

我知道这个代码有效,但我不知道这样做是否有效。我想支持它的原因是允许人们用另一个文件覆盖这个函数。听起来有点奇怪,但就我的目的而言,这是有道理的。

我之所以这么问,是因为我真的找不到这样做的例子,并且已经搜索了一个小时左右

$jerry = function(){
    return 'hello world';
};
echo $jerry();

是的,使用分配给变量的匿名函数是有效的。

当您对某些事情不确定时,应该使用PHP文档(在"Language Reference">"Functions">"Anonymous Functions"下)。这个网站实际上很容易使用。

在php.net上查找内容的另一种方法是使用URL路径。例如,如果你对函数感兴趣,那么你可以去php.net/functions,它会试图引导你去正确的地方。这将适用于相当多的东西;例如,php.net/jugging将引导您进入"typejugging"页面。如果它无法将您引导到相关的内容,那么它将使用URL路径作为搜索查询,向您显示搜索结果。

我相信你可以做其他事情。。。说你有

function1() {
//code for function1 here
}
function2() {
//code for function2 here
}

你真的可以做这个

$var = 'function1';
$var(); //runs function1()
$var = 'function2';
$var(); //runs function2()

希望它能清除

否则,您所寻求的所有信息都在www.php.net/functions中,正如前面的用户所指出的那样。学习在php.net中搜索任何问题,在每个文档页面的底部都有95%的示例可以帮助您实现