是否有可能找到foreach索引?
在for循环中如下所示:
for ($i = 0; $i < 10; ++$i) {
echo $i . ' ';
}
$i会给你索引。
我必须使用for循环还是有一些方法在foreach循环中获得索引?
是否有可能找到foreach索引?
在for循环中如下所示:
for ($i = 0; $i < 10; ++$i) {
echo $i . ' ';
}
$i会给你索引。
我必须使用for循环还是有一些方法在foreach循环中获得索引?
当前回答
我使用++$key而不是$key++从1开始。通常从0开始。
@foreach ($quiz->questions as $key => $question)
<h2> Question: {{++$key}}</h2>
<p>{{$question->question}}</p>
@endforeach
输出:
Question: 1
......
Question:2
.....
.
.
.
其他回答
PHP数组有内部指针,所以试试这个:
foreach($array as $key => $value){
$index = current($array);
}
对我来说还行(不过只是非常初步的测试)。
需要注意的是,您可以在任何数组上调用key()来查找当前所在的键。正如你所猜测的,current()将返回当前值,next()将移动数组的指针到下一个元素。
foreach($array as $key=>$value) {
// do stuff
}
$key是每个$array元素的索引
你可以在循环外创建$i,并在循环底部执行$i++。
您可以在foreach中添加一个hack,例如在每次遍历时增加一个字段,这正是for循环在数字索引数组中提供的内容。这样的字段将是一个伪索引,需要手动管理(增量等)。
foreach将以$key值的形式为您提供索引,因此不需要这样的hack。
例如,在一个foreach中
$index = 0;
foreach($data as $key=>$val) {
// Use $key as an index, or...
// ... manage the index this way..
echo "Index is $index\n";
$index++;
}