Administrateur PHPfrance |
3088 Messages
19 avr. 2008, 16:48
Attention, le premier lien que tu cites est super vieux et porte si mes souvenirs sont bons sur PHP 4. Entre temps, les choses ont beaucoup changé. De plus, je recommande de ne pas porter trop d'attention à ce genre d'optimizations, parce qu'elles font rarement gagner grand-chose en performance à l'échelle d'un script et surtout de ne jamais croire les benchmarks d'autrui et toujours vérifier toi-même sur une version récente de PHP.
Ceci dit, tu seras heureux d'apprendre que foreach est généralement 3 à 5 fois plus rapide sous PHP 5.2 qu'une solution équivalente basée sur list() / each(), notamment parce que les deux fonctionnent de manière équivalente. "Mais pourquoi une telle différence alors ?" me demanderas-tu. En fait c'est simple, tu as oublié d'utiliser reset() avant ta boucle. foreach remet toujours le pointeur au début avant de commencer.