1

私はループのために次のコードを持っています

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

後者が同じことをしている場合、 $i++ の代わりに ++$i を使用する理由はありますか?

4

5 に答える 5

6

for ループでは、返された値で何もしていないので問題ありません。

++$iただし、との違いに注意する必要があります。$i++つまり、 returnと$i++returnsです。$i++$i$i+1

例えば...

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

++ $ iはマイクロ最適化であり、$i++よりもわずかに高速に実行されます。ただし、count($ subusers)が1つの反復から次の反復に変更できるように、ループ内で$ subusers配列が変更されていない限り、配列の数をカウントすることにより、速度のわずかな正のゲインが無効になります(一部)。反復ごとにエントリ。

$i++と++$iはどちらも、ループの各反復の最後に実行されることに注意してください。$iを0ではなく1に初期化することと同じではありません。

于 2010-11-15T09:22:40.830 に答える
2

この場合、ループに入っているので違いはありません。

インタビューでは常にお気に入りの質問の1つであるため、投稿と事前インクリメントについて少し読んでおくことをお勧めします^^

i ++を実行する場合、iの値が最初に使用され、次にインクリメントされます

++ iを実行すると、iがインクリメントされて使用されます

たとえば、int i = 0; while(aBool){print(i ++); }は0、1、2、3、4、..を表示します

なので

int i = 0; while(aBool){print(++ i); }は1,2,3,4,5、..を表示します

于 2010-11-15T09:16:46.980 に答える
1

++ $ iは、phpの実行を高速化し、同じコード行でインクリメントします。

このリンクが役立つ場合があります:-http://ilia.ws/archives/12-PHP-Optimization-Tricks.html

于 2010-11-15T09:18:27.430 に答える
1

いいえ、この場合は文体だけです。たぶん、誰かがプレインクリメント演算子を一度だけ使いたかっただけかもしれません。

于 2010-11-15T09:13:13.430 に答える