说我有这个数组
$array = array('pen' => 'blue', 'paper' => 'red', 'ink' => 'white');
当我循环时
$string = '';
foreach ($array AS $key=>$value) {
$string .= $key . ' = ' . $value;
}
我想得到循环当前所在元素的“行号”。
如果循环是“笔”,我会得到1。 如果循环在“纸上”,我会得到2。 如果循环是“墨水”,我会得到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
}
希望有所帮助。