2013-07-30 30 views
0

對於我第一次發現了這個問題,看到我已經objetcs的陣列和我訪問它們如下:如何訪問一個VAR以「 - 」在PHP

$arrayOfObjects[$pos]->value; 

但我的問題是,一個數組值具有的「 - 」意味着價值e-mail所以當我這樣做:

$arrayOfObjects[$pos]->e-mail; 

我得到一個錯誤,我該如何處理呢? var不能改變!

+2

什麼錯誤?這是包含 –

+1

最重要的部分最佳答案是首先不要有帶連字符的對象元素。 (有解決方案,但代碼是醜陋的;最好的方法是完全避免它) – Spudley

+1

'$ arrayOfObjects [$ pos] - > {'e-mail'};' –

回答

4

如果你絕對必須有連字符,你可以訪問它想:

$arrayOfObjects[$pos]->{'e-mail'}; 
+0

有時,如果數據已從調用遠程第三方系統中檢索到,則無法避免 –

1

不能以這種方式訪問​​一個帶有破折號的變量。

試試這個:

$arrayOfObjects[$pos]['e-mail']; 
+0

這是使用像一個數組的對象,它是我認爲不好的做法。但我可能是錯誤的。 –