我存儲陣列中的信息在這樣一個循環:如何通過省略一列來從多維數組中獲取數據?
while ($ind = mysql_fetch_array($result))
$array["uniqueName"][$ind][$hash]["mac"] = $mac;
我怎樣才能得到所有$ Mac的,如果我不給$哈希,讓所有哈希上下文:
$array["uniqueName"][432][?]["mac"]
我能用''做些什麼?以上?我能否以某種方式忽略它?
我存儲陣列中的信息在這樣一個循環:如何通過省略一列來從多維數組中獲取數據?
while ($ind = mysql_fetch_array($result))
$array["uniqueName"][$ind][$hash]["mac"] = $mac;
我怎樣才能得到所有$ Mac的,如果我不給$哈希,讓所有哈希上下文:
$array["uniqueName"][432][?]["mac"]
我能用''做些什麼?以上?我能否以某種方式忽略它?
可以循環在哈希鍵是這樣的:
$macs = array();
foreach($array["uniqueName"][$ind] as $hash){
array_push($macs, $hash["mac"]);
}
更新的評論:
foreach語句載荷每一個關鍵$陣列[ 「uniqueName」] [$ ID]包含到$散列變量,一個接一個。所以你不必知道這些鍵究竟是什麼(或者甚至是有的),你可以通過使用$ hash var來引用它們來使用它們。所以實際上,foreach語句遍歷所有鍵$ array [「uniqueName」] [$ id] contains。
'$ array [「uniqueName」] [$ id] as $ hash'是做什麼的? – trainoasis
我在我的回答中添加了一些說明 – Asciiom
我可以有這個問題,因爲我有幾個數組(實際上$ GLOBALS [] [] [] ..)是這樣的: $ array [「uniqueName」] [$ ind] [ $ hash] = $ opSt; $ array [「uniqueName」] [$ ind] [$ hash] [「mac」] = $ mac; $ array [「uniqueName」] [$ ind] [$ hash] [「name」] = $ name; ? – trainoasis
首先:你期望最終的數組看起來像什麼? – deceze
$ mac的列表。它甚至不需要是一個數組。我只需要顯示所有存儲在$ id中的$ mac,而不是$ hash – trainoasis
'foreach($ array [「uniqueName」] [$ id] as $ hash => $ comp){if(isset($ comp [ 「mac」]))}'這樣? – Passerby