2015-09-17 46 views
0

我解析一些代碼和無法理解的一個片段PHP語法雙括號

$htmlinputs = array(); 

$htmlinputs['src']['available'] = array(); 

我明白,一個陣列是由「htmlinputs」的變種名稱進行,但我感到困惑的第二行。

它是否在'src'和'available'索引處創建第二個數組?這是代碼中第一次提到'src'和'available'。

+1

它正在製作一個多維數組。 –

+0

如果第一行和第二行之間沒有代碼,則第一行不是必需的。第二行是將$ htmlinputs定義爲多維數組。如果這兩行之間存在其他代碼,那麼可能首先使用$ htmlinputs作爲單維數組,然後在第二行重新定義......這不是一件好事。 –

回答

1

雙括號表示multi-dimensional array。它是一個或多個數組的數組。 在這個例子中,你已經給

$htmlinputs['src']['available'] = array(); 

如果「SRC」和「可用」以前沒有在代碼中提到,正在與語句創建的索引。這可能是多餘的,可以與實際值分配結合使用,也可能由於範圍原因而創建索引。

+0

我更新了我的解釋。該聲明正在創造它們。 –

+0

編輯:感謝您的反應如此之快,我可以像正常一樣訪問數組索引(即$ htmlinputs [0] [0]或我必須有'鍵'才能訪問最內層的數組?) –

+0

$ htmlinputs [0] [0]會給你一個未定義的偏移量。 var_dump($ htmlinputs)會顯示你的結構。然後嘗試var_dump($ htmlinputs [0] [0]查看未定義的偏移量)。這些是字符串索引,而不是整數索引。 –