-2

次のようなエントリを含む$arrayという配列があります。

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

私は以下を使用しており、最初の値を除いてすべてが機能します-最初の反復で2340を表示し、次に$row[0]がある2番目の反復で16410を表示する必要があります。

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]

1 番目の要素のインデックス

于 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 に答える