簡體   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