从数组中获取密钥

时间:2012-11-05 14:04:55

标签: php

我有一个名为$ array的数组,其中包含以下条目:

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?

5 个答案:

答案 0 :(得分:2)

使用此...

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

...而是(正如你所说的“第一个值”实际上是处理过的元素的索引)。

答案 1 :(得分:1)

尝试

 array_keys( $array )[ $idx ]

其中$array是您的数组,$idx是您要访问的索引

E.g:

 echo array_keys( $array )[0]

表示第1个元素的索引

答案 2 :(得分:0)

改变你的foreach:

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

答案 3 :(得分:0)

因为你所拥有的是一个关联数组(哈希表),你需要将另一个param传递给foreach语句,这样你就可以在anohter var中获得该元素的键。

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

在$ key变量中,您拥有数组中每个活动元素的关联键的值。

答案 4 :(得分:0)

这应该有用

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