当我想迭代一个数组时,我通常会这样做:
foreach ($array as $a)
{
//do something with $a
}
我只想知道是否可以用for
循环做这样的事情:
for ($i = 0; $i < count($array); $a = $array[$i]; $i ++)
{
//do something with $a
}
编辑:当我测试上面的代码时, for 语法无效。
当我想迭代一个数组时,我通常会这样做:
foreach ($array as $a)
{
//do something with $a
}
我只想知道是否可以用for
循环做这样的事情:
for ($i = 0; $i < count($array); $a = $array[$i]; $i ++)
{
//do something with $a
}
编辑:当我测试上面的代码时, for 语法无效。
The for
loop doesn't need to handle the $a = $array[$i];
as part of its arguments.
You can just move it to the body of the loop, something like this:
for ($i = 0; $i < count($array); $i++){
$a = $array[$i];
//do something with $a
}
跳过 for 循环的 $a = $array[$i] 部分(这是在循环的内部分配的,而不是在循环的声明中)
你应该这样做:
for ($i = 0; $i < count($array); $i ++)
{
$a = $array[$i]; //Gets value of element in array $array
//Do something with it...
}
你说你想控制一个数组的元素。您可以通过这样做(在 foreach 循环中添加键值)来做等价
foreach ($array as $key=>$i)
{
$a = $i[$key];
}
用逗号替换第三个分号。这不是整个解决方案(分配完成得太晚),但它应该充分解释 for 语句的工作原理。
for ($i = 0; $i < count($array); $i ++){
$a = $array[$i];
}
for 循环定义采用您提供的四个语句。将 $a 的赋值移动到实际循环中。