-2

我有一个名为 $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?

4

5 回答 5

2

用这个...

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

...而不是(因为您所说的“第一个值”实际上是已处理元素的索引)。

于 2012-11-05T14:05:47.830 回答
1

尝试

 array_keys( $array )[ $idx ]

$array你的数组在哪里,是$idx你要访问的索引

例如:

 echo array_keys( $array )[0]

对于第一个元素的索引

于 2012-11-05T14:06:44.297 回答
0

改变你的 foreach:

foreach ($array as $id => $row) {
    echo $id;
}
于 2012-11-05T14:06:45.397 回答
0

因为您拥有的是关联数组(哈希表),所以您需要将另一个参数传递给 foreach 语句,因此您可以在另一个 var 中拥有元素的键。

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

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

于 2012-11-05T14:06:48.657 回答
0

这应该工作

foreach ($array as $key => $row) {
print $key;
print $row[0];
print($row[cv][size]);
print($row[cv][c]);
}
于 2012-11-05T14:08:16.993 回答