如何获取关联数组的当前元素数?

时间:2012-11-09 13:21:54

标签: php arrays loops foreach

说我有这个数组

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

当我循环时

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

我想得到循环当前所在元素的“行号”。

如果循环是“笔”,我会得到1。 如果循环在“纸上”,我会得到2。 如果循环是“墨水”,我会得到3。

这是否有数组命令?

3 个答案:

答案 0 :(得分:6)

没有。您必须手动递增索引计数器:

$string = '';
$index = 0;
foreach ($array as $key=>$value) {
    $string .= ++$index . ") ". $key . ' = ' . $value;
}

答案 1 :(得分: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;
}

答案 2 :(得分: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
}

希望有所帮助。