0

この配列があるとします

$array = array('pen' => 'blue', 'paper' => 'red', 'ink' => 'white');

それをループすると

$string = '';
foreach ($array AS $key=>$value) {
    $string .= $key . ' = ' . $value;
}

ループが現在オンになっている要素の「行番号」を取得したい。

ループが「ペン」の場合は 1 を取得します。ループが「紙」の場合は 2 を取得します。ループが「インク」の場合は 3 を取得します。

このための配列コマンドはありますか?

4

3 に答える 3

6

いいえ。手動でインデックス カウンターをインクリメントする必要があります。

$string = '';
$index = 0;
foreach ($array as $key=>$value) {
    $string .= ++$index . ") ". $key . ' = ' . $value;
}
于 2012-11-09T13:22:49.760 に答える
2

関数を使用array_values()して、配列から値を抽出します。配列に数値でインデックスを付け、 $key はループ内の値のインデックスになります。

$array = array('pen' => 'blue', 'paper' => 'red', 'ink' => 'white');
$array = array_values($array);

$string = '';
foreach ($array as $key => $value) {
    $string .= $key + 1 . ' = ' . $value;
}
于 2012-11-09T13:52:49.910 に答える
0
$i = 0;
foreach ($array as $key=>$value) { // For each element of the array
    print("Current non-associative index: ".$i."<br />\n"); // Output the current index

    $i++; // Increment $i by 1
}

それが役立つことを願っています。

于 2012-11-09T15:40:07.430 に答える