2010-12-08 41 views
4

Possible Duplicate:
Reference - What does this symbol mean in PHP?@表示變量之前的含義是什麼?

我有這樣的任務:

[email protected]_value[$i]; 

什麼的@是什麼意思?

+15

這是爲了防止你弄清楚你的代碼出了什麼問題。 – 2010-12-08 23:01:32

+1

其實這句話甚至沒有編譯 – 2010-12-08 23:02:45

+0

@Ignacio我第二。我們的phpcs代碼標準被配置爲接收任何試圖做到這一點的開發人員並對他們大喊大叫。 – 2010-12-08 23:03:42

回答

8

這樣可以防止在訪問data_valuei th元素時引發任何警告或錯誤。

有關詳細信息,請參閱this

0

@在聲明前意味着不應該從該聲明的結果報告警告/錯誤。簡單地說,錯誤報告對此語句被取消。

這是特別有用的,例如, @fclose(fopen("file.txt",w"))根據具體情況可以拋出多個警告/錯誤,但在其前面有一個@,所有這些警告或錯誤都會被抑制。

1

它被稱爲「錯誤控制操作符」。既然這是一項任務,我相信你應該自己休息一下。

5

@將抑制有關變量未被初始化的錯誤(將改爲評估爲null)。

而且,你的代碼可能缺少$ @後:

[email protected]$data_value[$i]; 
0

如上所述,它如果陣列鍵不存在,抑制了錯誤。一個版本不會採取狡猾的錯誤抑制措施,而是採取相同的措施:

$buffer = array_key_exists($i, $data_value) ? $data_value[$i] : null; 
相關問題