Php 第一个循环周期后的极限计数器值
我怎么能这样写呢?$counter值在第一次迭代时为1,在接下来的每个循环中为0Php 第一个循环周期后的极限计数器值,php,Php,我怎么能这样写呢?$counter值在第一次迭代时为1,在接下来的每个循环中为0 $counter =1; foreach($result): $number = $result['value'] + $counter; db->update($result['value'] => $number); $counter--; endforeach; 基本上,我的目标是在第一个循环中将$number设置为$number+1,然后在接下来的每个循环中将$number+0
$counter =1;
foreach($result):
$number = $result['value'] + $counter;
db->update($result['value'] => $number);
$counter--;
endforeach;
基本上,我的目标是在第一个循环中将$number设置为$number+1,然后在接下来的每个循环中将$number+0
$result['value']的值将在第一个循环后设置为$number+1,因此在下一个循环中,$result['value']将是所需的不变值。为什么不使用类似的方法:
$counter = 1;
foreach($result):
$number = $result['value'] + $counter;
db->update($result['value'] => $number);
if ($counter == 1) {
$counter = 0;
}
endforeach;
- 测试
是否为$counter
1
- 是,将其设置为
0
- 否则,什么也不做
$counter = 1;
foreach($result):
$number = $result['value'] + $counter;
db->update($result['value'] => $number);
if ($counter == 1) {
$counter = 0;
}
endforeach;
或者,您也可以在循环结束时将
$counter
设置为0
,而不测试任何内容:
$counter = 1;
foreach($result):
$number = $result['value'] + $counter;
db->update($result['value'] => $number);
$counter = 0;
endforeach;
为此:
- 第一次进入循环时,
将是$counter
,在循环之前初始化1
- 在第一次迭代结束时,它将被设置为
0
- 在每次迭代之后,它将被重新设置为
——也就是说,它将保持在0
0
- 为什么不使用这样的东西:
$counter = 1;
foreach($result):
$number = $result['value'] + $counter;
db->update($result['value'] => $number);
if ($counter == 1) {
$counter = 0;
}
endforeach;
- 测试
是否为$counter
1
- 是,将其设置为
0
- 否则,什么也不做
$counter = 1;
foreach($result):
$number = $result['value'] + $counter;
db->update($result['value'] => $number);
if ($counter == 1) {
$counter = 0;
}
endforeach;
或者,您也可以在循环结束时将
$counter
设置为0
,而不测试任何内容:
$counter = 1;
foreach($result):
$number = $result['value'] + $counter;
db->update($result['value'] => $number);
$counter = 0;
endforeach;
为此:
- 第一次进入循环时,
将是$counter
,在循环之前初始化1
- 在第一次迭代结束时,它将被设置为
0
- 在每次迭代之后,它将被重新设置为
——也就是说,它将保持在0
0
- 我看不出问题出在哪里
$counter = 1;
foreach($result):
$number = $result['value'] + $counter;
// Once you have used your variable, just set it to zero...
$counter = 0;
db->update($result['value'] => $number);
endforeach;
我看不出问题出在哪里
$counter = 1;
foreach($result):
$number = $result['value'] + $counter;
// Once you have used your variable, just set it to zero...
$counter = 0;
db->update($result['value'] => $number);
endforeach;
代码看起来像PHP,尽管它在语法上是无效的。我假设迭代变量(这里称为
$results
)的数字键从0开始:
foreach($results as $counter => $result):
$number = $result['value'] + !$counter;
注意否定。代码看起来像PHP,尽管它在语法上无效。我假设迭代变量(这里称为
$results
)的数字键从0开始:
foreach($results as $counter => $result):
$number = $result['value'] + !$counter;
注意否定。太棒了!问题显然是我自己,把最基本的想法复杂化了。非常感谢你给了我一个全新而明显的视角。太棒了!问题显然是我自己,把最基本的想法复杂化了。非常感谢你给了我一个全新而明显的视角。是的,你的第二个例子正是我想要实现的。这是一个连续工作几天而不休息的明显例子。谢谢你的帮助。是的,你的第二个例子正是我想要实现的。这是一个连续工作几天而不休息的明显例子。谢谢你的帮助。