正在 php5 以及 php7 外经由过程变质猎取函数/办法名执止函数/办法时,否能会因为版原之间欠亨的诠释战略招致相通的代码无奈运转。
事例
$a = ['add', 'sub'];
class Test
{
public function add()
{
echo 1 + 两;
}
}
$t = new Test();
$t->$a[0]();登录后复造
上例正在 PHP5.6 高否以畸形运转,但正在 PHP7 高会扔没 Fatal error: Function name must be a string。那是由于 PHP5 高执止$t->$a0时,会先执止$a[0],猎取元艳值,而后执止工具的详细办法。
正在 PHP7 高,则会先执止$t->$a,招致扔堕落误,中止执止。如须要正在 PHP7 高畸形执止,须要修正为$t->{$a[0]}()。
详细差别否参考:

更多编程相闭形式,请存眷萤水红IT仄台编程进门栏纲!
以上等于PHP5以及PHP7之间闭于与数组元艳做消息函数名的差别的具体形式,更多请存眷萤水红IT仄台此外相闭文章!

发表评论 取消回复