繁体   English   中英

PHP 5.3.10和PHP 5.5.3语法错误意外'['

[英]PHP 5.3.10 vs PHP 5.5.3 syntax error unexpected '['

此PHP代码行是否可能

if ($this->greatestId()["num_rows"] > 0)

在PHP 5.5中工作,并在5.3中返回错误?

PHP Parse error:  syntax error, unexpected '[' in /var/www/app/AppDAO.php on line 43

如何更改它以在PHP 5.3下工作?

数组取消引用在PHP 5.4中可用,这就是为什么它在PHP 5.3中不起作用的原因。 因此,您需要执行额外的步骤,需要从函数调用中获取数组值,然后可以使用它:

$variable = $this->greatestId();
if ($variable["num_rows"] > 0){
      // do stuff
}

如果不能在PHP 5.3中使用if ($this->greatestId()["num_rows"] > 0) ,请使用以下代码。

$var = $this->greatestId();
if ($var["num_rows"] > 0){
  // your code
}

如PHP 5.4注释中所述:

从PHP 5.4开始,可以直接对函数或方法调用的结果进行数组取消引用。 在此之前,只能使用一个临时变量。

在PHP 5.3中不可能做到这一点,您需要使用一个变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM