我有以下循环代码
for ($i=0; $i<=(count($subusers)-1); ++$i) {
如果后者做同样的事情,是否有理由使用 ++$i 而不是 $i++?
我有以下循环代码
for ($i=0; $i<=(count($subusers)-1); ++$i) {
如果后者做同样的事情,是否有理由使用 ++$i 而不是 $i++?
在 for 循环中,这并不重要,因为您没有对返回的值做任何事情。
++$i
但是,您仍然应该注意and之间的区别$i++
,即$i++
返回$i
和++$i
返回$i+1
。
例如...
$i=0;
echo $i++; //0
echo ++$i; //2
++$i 是一个微优化,它的执行速度比 $i++ 快一点。但是,除非 $subusers 数组在循环内被更改,以便 count($subusers) 可以从一次迭代更改为下一次迭代,否则任何轻微的速度正增益都会通过计算数组的数量而被否定(然后是一些)每次迭代的条目。
请注意,$i++ 和 ++$i 都将在循环的每次迭代结束时执行。它与将 $i 初始化为 1 而不是 0 不同。
在这种情况下,没有区别,因为您处于循环中。
我建议您阅读一些关于职位和预增的内容,因为它始终是面试中最喜欢的问题之一^^
如果你做 i++,首先使用 i 的值,然后递增
如果你做 ++i,则 i 递增然后使用
例如 int i = 0; while (aBool){ 打印 (i++); } 将显示 0,1,2,3,4,...
作为
诠释 i = 0; while (aBool){ 打印 (++i); } 将显示 1,2,3,4,5,...
不,在这种情况下,它只是风格。也许有人只想使用一次预增量运算符。
++$i 使 php 执行速度更快,并在同一行代码中增加内容。
此链接可能会有所帮助:- http://ilia.ws/archives/12-PHP-Optimization-Tricks.html