资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

PHP5和PHP7取数组元素作动态函数名有什么差异-创新互联

今天小编给大家分享的是PHP5和PHP7取数组元素作动态函数名有什么差异,相信很多人都不太了解,为了让大家更加了解PHP5和PHP7取数组元素作动态函数名的差异,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。

我们提供的服务有:成都网站制作、网站设计、外贸网站建设、微信公众号开发、网站优化、网站认证、宜春ssl等。为上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的宜春网站制作公司

在 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->$a0时,会先执行$a[0],获取元素值,然后执行对象的具体方法。

在 PHP7 下,则会先执行$t->$a,导致抛出错误,中断执行。如需要在 PHP7 下正常执行,需要修改为$t->{$a[0]}()。

具体差异可参考:

PHP5和PHP7取数组元素作动态函数名有什么差异

关于PHP5和PHP7取数组元素作动态函数名有什么差异就分享到这里了,当然并不止以上和大家分析的办法,不过小编可以保证其准确性是绝对没问题的。希望以上内容可以对大家有一定的参考价值,可以学以致用。如果喜欢本篇文章,不妨把它分享出去让更多的人看到。


分享标题:PHP5和PHP7取数组元素作动态函数名有什么差异-创新互联
文章链接:http://cdkjz.cn/article/diedpj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220