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 回答