9

这个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 下工作?

4

3 回答 3

15

数组取消引用在 PHP 5.4 中变得可用这就是为什么这在 PHP 5.3 中不起作用的原因。所以你有一个额外的步骤,你需要从你的函数调用中获取数组值,然后你可以使用它:

$variable = $this->greatestId();
if ($variable["num_rows"] > 0){
      // do stuff
}
于 2014-05-09T13:37:04.213 回答
2

您不能if ($this->greatestId()["num_rows"] > 0)在 PHP 5.3 版本中这样使用下面的代码。

$var = $this->greatestId();
if ($var["num_rows"] > 0){
  // your code
}
于 2014-05-09T13:34:28.560 回答
1

如 PHP 5.4 注释中所述:

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

在 PHP 5.3 中无法做到这一点,您需要使用变量。

于 2014-05-09T13:39:24.293 回答