2012-11-05 103 views
-2

我有一個數組名爲$數組,它包含的條目是這樣的:從陣列中獲取關鍵

Array ( 
    [2340] => Array ( 
    [cv] => Array ( 
     [size] => 317613 
     [c] => 3)) 
    [16410] => Array ( 
    [cv] => Array ( 
     [size] => 119808 
     [c] => 1)) 
) 

我使用下面的一切工作,除了第一個值 - 我需要它在第一個顯示2340迭代,然後16410在第二個,我有$ row [0]如下:

foreach ($array as $row) { 
    print $row[0]; 
    print($row[cv][size]); 
    print($row[cv][c]); 
} 

如何訪問該第一個ID?

回答

2

使用此...

foreach ($array as $first_value => $row) { 
    print $first_value; 
    print($row[cv][size]); 
    print($row[cv][c]); 
} 

...代替(如「第一個值」你所談論的實際上是處理的元素的索引)。

+0

完美,謝謝 – bhttoan

1

嘗試

array_keys($array)[ $idx ] 

其中$array是你的陣列,並$idx是您要訪問

如指數:

echo array_keys($array)[0] 

的第一個元素的索引

0

更改您的foreach:

foreach ($array as $id => $row) { 
    echo $id; 
} 
0

因爲你有一個關聯數組(哈希表),所以你需要傳遞另一個參數給foreach語句,所以你可以在anohter var中有元素的關鍵字。

foreach ($array as $key => $row) { 
    print $key; 
    print $row[0]; 
    print($row[cv][size]); 
    print($row[cv][c]); 
} 

在$ key變量中,您擁有數組中每個活動元素的關聯關鍵字的值。

0

這應該工作

foreach ($array as $key => $row) { 
print $key; 
print $row[0]; 
print($row[cv][size]); 
print($row[cv][c]); 
}