使用字符串调用方法的PHP花括号语法

使用字符串调用方法的PHP花括号语法,php,syntax,Php,Syntax,我在这里看到,可以使用大括号中的字符串来调用PHP类方法,以便 $player->SayHi(); 可以写为: $player->{'SayHi'}(); 我的问题是: 这个语法在PHP中叫什么?如果使用了与方法不对应的错误字符串,会发生什么情况 另外,我可以使用此语法调用非类方法吗 我查看了链接帖子中的答案,这里只有指向PHP回调语法的链接,而PHP回调语法似乎没有涵盖花括号语法 谢谢,这是我们的一部分。使用变量或变量函数时,可以使用任何通过大括号换行返回字符串的表达式替换变量

我在这里看到,可以使用大括号中的字符串来调用PHP类方法,以便

$player->SayHi();
可以写为:

$player->{'SayHi'}();
我的问题是:

这个语法在PHP中叫什么?如果使用了与方法不对应的错误字符串,会发生什么情况

另外,我可以使用此语法调用非类方法吗

我查看了链接帖子中的答案,这里只有指向PHP回调语法的链接,而PHP回调语法似乎没有涵盖花括号语法

谢谢,

这是我们的一部分。使用变量或变量函数时,可以使用任何通过大括号换行返回字符串的表达式替换变量。因此,您可以:

$var = 'SayHi';
$player->$var();
或者,您可以通过以下步骤一步完成:

$player->{'SayHi'}();

的文档中显示了带大括号的语法。这里的示例是针对变量类属性的,但类方法使用相同的语法。

您可以在

基本上:

function getVarName() 
{ return 'aMemberVar'; } 

print $foo->{getVarName()}; // prints "aMemberVar Member Variable"

它是变量函数的一部分

如果与方法不对应,则会出现错误,就像使用正常语法一样。在PHP中,当调用对象时,可以通过大括号访问object的方法。谢谢。你能解释一下卷曲括号吗?就像我说的,当值是表达式而不是变量时,使用大括号。如果你想连接变量,你可以做
->{$a.$b}
,我明白了。谢谢你的解释。在这种情况下,是否有使用大括号括住表达式的PHP参考资料?很抱歉问你这个新手问题。我只是以前没见过这个。