2012-11-05 67 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]); 
}