1

我有以下循环代码

for ($i=0; $i<=(count($subusers)-1); ++$i) {

如果后者做同样的事情,是否有理由使用 ++$i 而不是 $i++?

4

5 回答 5

6

在 for 循环中,这并不重要,因为您没有对返回的值做任何事情。

++$i但是,您仍然应该注意and之间的区别$i++,即$i++返回$i++$i返回$i+1

例如...

$i=0;
echo $i++; //0
echo ++$i; //2
于 2010-11-15T09:11:20.713 回答
3

++$i 是一个微优化,它的执行速度比 $i++ 快一点。但是,除非 $subusers 数组在循环内被更改,以便 count($subusers) 可以从一次迭代更改为下一次迭代,否则任何轻微的速度正增益都会通过计算数组的数量而被否定(然后是一些)每次迭代的条目。

请注意,$i++ 和 ++$i 都将在循环的每次迭代结束时执行。它与将 $i 初始化为 1 而不是 0 不同。

于 2010-11-15T09:22:40.830 回答
2

在这种情况下,没有区别,因为您处于循环中。

我建议您阅读一些关于职位和预增的内容,因为它始终是面试中最喜欢的问题之一^^

如果你做 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,...

于 2010-11-15T09:16:46.980 回答
1

不,在这种情况下,它只是风格。也许有人只想使用一次预增量运算符。

于 2010-11-15T09:13:13.430 回答
1

++$i 使 php 执行速度更快,并在同一行代码中增加内容。

此链接可能会有所帮助:- http://ilia.ws/archives/12-PHP-Optimization-Tricks.html

于 2010-11-15T09:18:27.430 回答