foreach
en PHP7 par défaut, lorsque itérer en valeur, fonctionne sur une copie du tableau selon: http://php.net/manual/en/migration70.incompatible.phpchangements foreach dans PHP7
-t-il créer paresseusement une copie que s'il y a des modifications apportées au tableau ou une valeur ou va-t-il toujours en faire une copie et faire en sorte que le référencement sur une référence soit une optimisation de la performance?
De même, est-ce que les tableaux d'objets sont toujours en boucle/vous donnent des références des objets? Ou vont-ils également créer des copies pour le foreach
et retourner les objets par valeur?
Selon [la réponse en haut ici] (http://stackoverflow.com/questions/10057671/how-does-foreach-actually-work?rq=1) il y a aussi une copie faite en PHP5 lors de l'itération par valeur. – Kenney
Suggestion: Juste itérer et ne pas essayer d'optimiser en "écrivant un code efficace". La plupart du temps, il suffit d'utiliser les constructions et de les laisser découvrir comment exécuter du code. Ce n'est que si vous mesurez que la performance n'est pas acceptable que vous voudriez faire un changement. (Pas une réponse ou downvote car il y a une raison académique de poser la question, mais cela vaut la peine d'indiquer) – ircmaxell
@ircmaxell cela pourrait être formulé briefer: http://stackoverflow.com/questions/385506/when-is-optimisation- prématuré –