192

私の連想配列:

$arr = array(
   1 => "Value1",
   2 => "Value2",
   10 => "Value10"
);

次のコードを使用すると、の値$vが入力されます$arr

 foreach($arr as $v){
    echo($v);    // Value1, Value2, Value10
 }

$arr代わりに のキーを取得するにはどうすればよいですか?

 foreach(.....){
    echo($k);    // 1, 2, 10
 }
4

12 に答える 12

363

できるよ:

foreach ($arr as $key => $value) {
 echo $key;
}

PHP docsで説明されているように。

于 2009-12-23T09:44:53.887 に答える
74

を使用するarray_keys()と、PHP はキーだけで満たされた配列を提供します。

$keys = array_keys($arr);
foreach($keys as $key) {
    echo($key);
}

または、これを行うことができます:

foreach($arr as $key => $value) {
    echo($key);
}
于 2009-12-23T09:43:29.097 に答える
42

誰も通常のforループで答えませんか? 時々私はそれがより読みやすく、より好きforだと思うことforeach
があります。

$array = array('key1' => 'value1', 'key2' => 'value2'); 

$keys = array_keys($array);

for($i=0; $i < count($keys); ++$i) {
    echo $keys[$i] . ' ' . $array[$keys[$i]] . "\n";
}

/*
  prints:
  key1 value1
  key2 value2
*/
于 2016-10-19T19:04:59.717 に答える
11
foreach($array as $k => $v)

$k はキー、$v は値です。

または、キーだけが必要な場合は、array_keys() を使用します

于 2009-12-23T09:44:46.553 に答える
9

次のループを使用して、連想配列からキーと値を取得します

foreach ($array as $key => $value)
{
  echo "<p>$key = $value</p>";
}
于 2015-08-26T15:28:36.403 に答える
5

以下は、キーと値の両方を同時に取得できるようにします。

foreach ($arr as $key => $value)
{
  echo($key);
}
于 2009-12-23T09:44:42.180 に答える
1

ああ、PHPマニュアルで見つけました。

foreach ($array as $key => $value){
    statement
}

現在の要素のキーは、各ループで変数$keyに割り当てられます。

于 2009-12-23T09:45:34.223 に答える
1

$key => $valキーを取得するために使用します。

<?php

$arr = array(
    1 => "Value1",
    2 => "Value2",
    10 => "Value10",
);

foreach ($arr as $key => $val) {
   print "$key\n";
}

?>
于 2009-12-23T09:46:27.240 に答える
0
 foreach($arr as $key=>$value){
    echo($key);    // key
 }
于 2009-12-23T09:44:57.047 に答える