2012-02-19 40 views
3

問:數組鍵中的冒號:有什麼特別的意義?PHP冒號:在數組鍵裏有什麼特別的意義?

從手冊:

陣列可以由array()語言結構來創建的。它將任意數量的逗號分隔鍵=>值對作爲參數。

array( key => value 
    , ... 
    ) 

雖然我研究什麼異常對象被設置爲,我創建了一個錯誤條件,並把這個線在 -

print_r($ex); 

然後在產生的網頁在查看源和它產生像這 -

Exception Object 

(

[message:protected] => DB connection error: SQLSTATE[28000] [1045] Access denied for user 'test'@'localhost' (using password: YES) 

[string:Exception:private] => 

輸出是對結腸中:[message:protected]顯著或是關鍵的關鍵=>值對字面上message:protected

回答

1

你有什麼有print_r S中的異常對象的屬性表示。除非類實現ArrayAccess並且該屬性是公共的,否則這些不能用數組符號訪問。

如進一步的說明,如果你有一個這樣的數組...

$array = array(
    'my:key' => 'my:value' 
); 

...你可以訪問該值,你通常會與$array['my:key']

3

$ex不是一個數組,它是一個對象。對象比數組更復雜的數據結構。你看到的是這個對象狀態的文本表示。

開發人員決定使用類似的表示,因爲它是用於陣列,並且它們使用用於給出關於對象的屬性的進一步信息,結腸分離。

結腸有沒有意義,你將不能訪問與例如現場$ex['message:protected'].

4

$ex不是一個數組,而是一個對象。這是print_r如何打印它,用:protected表示message字段在Exception類中標記爲protected

結腸沒有在陣列的任何特殊含義。

相關問題