j'ai code suivant pour boucle
for ($i=0; $i<=(count($subusers)-1); ++$i) {
est-il une raison d'utiliser ++ $ i au lieu de $ i ++ si ce dernier fait même chose?
j'ai code suivant pour boucle
for ($i=0; $i<=(count($subusers)-1); ++$i) {
est-il une raison d'utiliser ++ $ i au lieu de $ i ++ si ce dernier fait même chose?
++ $ i est un micro-optimisation, il exécute très légèrement plus vite que $ i ++. Cependant, à moins que le tableau $ subusers ne soit modifié dans la boucle pour que count ($ subusers) puisse changer d'une itération à l'autre, alors tout léger gain positif en vitesse est annulé (et en partie) en comptant le nombre de tableau entrées à chaque itération. Notez que $ i ++ et ++ $ i s'exécuteront tous les deux à la fin de chaque itération de la boucle. Ce n'est pas la même chose que l'initialisation de $ i à 1 plutôt qu'à 0.
@llamerr: Soyez très prudent avec Des trucs comme ça - c'est présenté comme une micro-optimisation, mais je ne serais pas surpris si PHP optimisait la différence de toute façon. Concentrez-vous simplement sur l'écriture de code propre. – Cam
merci pour l'avertissement, j'essaie juste d'entreprendre quelqu'un d'autre code sur le projet en cours – llamerr
Dans une boucle for, cela n'a pas d'importance puisque vous ne faites rien avec la valeur retournée.
Cependant, vous devez quand même noter la différence entre ++$i
et $i++
, qui est que $i++
retours $i
et ++$i
retours $i+1
.
Par exemple ...
$i=0;
echo $i++; //0
echo ++$i; //2
ouais je le comprends, mais je ne sais pas comprendre pourquoi quelqu'un l'utilise dans la boucle for, si le résultat est le même que pour $ i ++ - il s'exécute après un cycle et avant le prochain cycle. – llamerr
Dans la boucle for ne serait-ce pas d'encourir l'incrémentation de $ i mais en le gardant comme valeur existante pendant la boucle? –
@Blue: Non. La troisième section de la boucle for est exécutée ** pour l'effet uniquement **. Autrement dit, il est exécuté mais la valeur de retour n'est utilisée pour rien. Par exemple, 'for ($ i = 0; $ i <5; $ i ++) {...} 'est la même chose que' for ($ i = 0; $ i <5; 5000000+ ++ $ i) {...} ' – Cam
Non, dans ce cas, il est seulement stylistique. Peut-être que quelqu'un voulait juste utiliser un opérateur de pré-incrémentation pour une fois.
bien je suppose que c'est vraiment une habitude de programmation ^^, comme la plupart des gens que je préfère i ++ , mais je connais des gens qui préfèrent ++ i. Comme les gens qui aiment init variable à -1 au lieu de 0. –
Dans ce cas, il n'y a pas de différence car vous êtes dans une boucle.
Je vous suggère de lire un peu sur le post et pré incrémentation, car il est toujours l'une des questions favorites dans des interviews ^^
si vous i ++, la valeur de i est d'abord utilisée puis incrémentée
si vous faites ++ i, i est incrémenté puis utilisé
par exemple int i = 0; while (aBool) { impression (i ++); } montrera 0,1,2,3,4 ...
comme
int i = 0; while (aBool) { impression (++ i); } montrera 1,2,3,4,5, ...
++ $ je fais l'exécution php rapide et incrémente aussi la chose sur la même ligne de code.
ce lien peut utile: - http://ilia.ws/archives/12-PHP-Optimization-Tricks.html
Il ne rend pas l'exécution de php rapide. – Cam
En comparaison de $ i ++ http://ilia.ws/archives/12-PHP-Optimization-Tricks.html –
Si vous mettez ce lien dans votre réponse, je vais vous réprouver. Je ne suis toujours pas d'accord avec votre attitude à propos de ++ $ i vs $ i ++ car je pense que ce n'est vraiment pas important - mais le lien confirme assez bien que ça ne vaut plus la downvote :) – Cam
ok, donc c'est juste une signification stylistique, c'est tout ce que je veux entendre, merci – llamerr
ou peut-être son optimisation – llamerr