bien que j'utilise foreach et tout,Lequel est le mieux traité pour les tableaux?
je me demandais si vous utilisez la for(i=0;i<varlength;i++)
aura une certaine différence, comment processus php pour() et foreach() différemment?
bien que j'utilise foreach et tout,Lequel est le mieux traité pour les tableaux?
je me demandais si vous utilisez la for(i=0;i<varlength;i++)
aura une certaine différence, comment processus php pour() et foreach() différemment?
Pour les boucles sont un peu plus rapide, mais considérer les points suivants:
$bar = array("cow"=>"moo", "cat"=>"meaw", "dog"=>"barf");
foreach($bar as $key => $value){
echo "The ".$key." goes ".$value.".<br>";
}
thats un bon point –
Ceci n'est pas associé à 'for' ou' foreach'. N'utilisez pas de guillemets doubles si vous initialisez simplement des chaînes, car PHP recherche des variables à l'intérieur de chaînes entre guillemets doubles en ajoutant plus de traitement. "" La clé ". $" "Va". $ Value. ".
" 'pourrait être réécrit comme' "La {$ key} va {$ value}.
" '(en utilisant une interpolation de variable) ou' 'The' . clé $. ' va ' . Valeur $ '.
'' (en utilisant la concaténation). –
@Amil: voir le lien RobertPitt posté sous la question pour un exemple pratique de la façon dont il est faux. – Mchl
S'il y a une différence de performance, c'est probablement négligeable. Je voudrais rester avec foreach
car il est plus clair que vous faites l'itération sur un tableau ici (foreach est utilisé pour l'itération sur les classes d'implémentation Iterator ainsi)
apparemment la différence est d'environ 276%, selon phpbench (voir le lien dans le commentaire de robert). Non négligeable mais dans la plupart des cas probablement sans signification. La boucle for est plus rapide - si vous bouclez quelques milliers de choses, qui s'en soucie, mais si vous bouclez 500 000, cela peut être important. – Erik
Voir tous les tests sur cette page. En fonction de ce que vous faites pour() peut être plus lent que foreach(). Étant donné que la partie la plus lente d'un PHP moyen est la communication avec des sources de données externes (une base de données dans la plupart des cas), je l'appelle encore négligeable. – Mchl
Pour les benchmarks: http://www.phpbench.com/ – RobertPitt