難道這個PHP代碼行PHP 5.3.10與PHP 5.5.3語法錯誤意外「[」
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代碼行PHP 5.3.10與PHP 5.5.3語法錯誤意外「[」
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.3中使用像這樣if ($this->greatestId()["num_rows"] > 0)
ver使用下面的代碼。
$var = $this->greatestId();
if ($var["num_rows"] > 0){
// your code
}
Array dereferencing在PHP 5.4中可用這就是爲什麼這在PHP 5.3中不起作用。所以,你有你需要從你的函數調用獲取數組值額外的步驟,然後你可以使用它:
$variable = $this->greatestId();
if ($variable["num_rows"] > 0){
// do stuff
}
如PHP 5.4筆記中提到:
隨着PHP 5.4的可以直接對函數或方法調用的結果進行數組解引用。之前只能使用 臨時變量。
在PHP 5.3中無法做到這一點,您需要使用一個變量。
找到鏈接:https://php.net/manual/en/migration54.new-features.php裏面新增的功能說:添加了函數數組解除引用,例如: FOO()[0]。 – dendini
昨天我遇到了這個錯誤,在我的本地env我有php5.5和5.3測試:/謝謝你的回答。 –