0
原來這個代碼我個人開發服務器上工作的函數返回值時:PHP語法錯誤訪問與[0]
$id = str_split(md5(mt_rand()), 16)[0];
但另一臺服務器上,(同一版本的Apache和PHP的,我不知道遠程php.ini的樣子),代碼拋出此錯誤:
Parse error: syntax error, unexpected '[' ...
我「固定」的問題的代碼更改爲:
$id = str_split(md5(mt_rand()), 16);
$id = $id[0];
然後再回到原來的嘗試追捕問題 - 但原來的代碼工作!爲什麼第一行代碼會引發語法錯誤?我試圖尋找解釋,但我不知道該怎麼稱呼這類問題。
IIRC,PHP解析器完全是瘋狂和不表達這樣的事情在簡單來說表達式後跟'[0]'「;而不是「後跟'[0]'」。除此之外沒有更深層次的原因。 – Eevee
[explode(' - ','foo-bar')\ [0 \](例如)]上的解析錯誤的可能的重複(http://stackoverflow.com/questions/2396782/parse-error-on-explode -foo-bar0-for-instance) –