是否有可能找到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循环中获得索引?
当前回答
你可以在循环外创建$i,并在循环底部执行$i++。
其他回答
这两个循环是等价的(当然除了安全栏杆):
for ($i=0; $i<count($things); $i++) { ... }
foreach ($things as $i=>$thing) { ... }
eg
for ($i=0; $i<count($things); $i++) {
echo "Thing ".$i." is ".$things[$i];
}
foreach ($things as $i=>$thing) {
echo "Thing ".$i." is ".$thing;
}
foreach($array as $key=>$value) {
// do stuff
}
$key是每个$array元素的索引
需要注意的是,您可以在任何数组上调用key()来查找当前所在的键。正如你所猜测的,current()将返回当前值,next()将移动数组的指针到下一个元素。
我通常在使用关联数组时这样做:
foreach ($assoc_array as $key => $value) {
//do something
}
这也适用于非关联数组。$key将是索引值。如果你喜欢,你也可以这样做:
foreach ($array as $indx => $value) {
//do something
}
你可以在循环外创建$i,并在循环底部执行$i++。