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

我在 SO answer中看到,可以使用花括号内的字符串来调用PHP方法

$player->SayHi();

可以替代写成:

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

我的问题是:

PHP调用的语法是什么?如果使用了与方法不对应的错误字符串会发生什么?

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

我查看了链接帖子中的答案,并且只有PHP回调语法的链接,这似乎不包括大括号语法.

谢谢,

解决方法

它是 variable functions的一部分.当使用变量或变量函数时,您可以将变量替换为通过包裹大括号返回字符串的任何表达式.所以你可以这样做:

$var = 'SayHi';
$player->$var();

或者您可以一步完成:

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

带有大括号的语法显示variable variables的文档中.示例中有一个变量类属性,但类方法使用相同的语法.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...