正在 PHP5 以及 PHP7 中经过变量猎取函数/办法名执行函数/办法时,可能会因为版本之间欠亨的诠释战略招致相反的代码无奈运转。
示例
$a = ['add', 'sub']; class Test { public function add() { echo 1 + 2; } } $t = new Test(); $t->$a[0]();
上例正在 PHP5.6 下能够失常运转,但正在 PHP7 下会抛出 Fatal error: Function name must be a string。这是由于 PHP5 下执行$t->$a<a href="">0</a>时,会先执行$a[0],猎取元素值,而后执行工具的详细办法。
正在 PHP7 下,则会先执行$t->$a,招致抛犯错误,中缀执行。如需求正在 PHP7 下失常执行,需求修正为$t->{$a[0]}()。
详细差别可参考:
更多编程相干内容,请存眷资源魔编程入门栏目!
以上就是PHP5以及PHP7之间对于取数组元素作静态函数名的差别的具体内容,更多请存眷资源魔其它相干文章!
标签: PHP5 PHP7 php7开发教程 php7开发资料 php7开发自学
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!