Qu'est-ce qui est le mieux ? [Résolu]

Signaler
Messages postés
198
Date d'inscription
lundi 28 février 2005
Statut
Membre
Dernière intervention
14 novembre 2008
-
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
-
Bonjour,
J'aimerais savoir si c'est mieux de faire ceci :

foreach (fonction_qui_retourne_un_tableau() as $cle => $valeur)

Que ceci :

$tableau = fonction_qui_retourne_un_tableau();
foreach ($tableau as $cle => $valeur)

Merci ;-)

3 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
35
salut
je pense que ca revient au meme,
tu peux faire un bench pour en etre sur (tu renvoies un gros tableau, et tu mesures le temps de calcul)
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Hello

Voici le résultat d'un bench realisé. Apparemment, c'est 50/50. Il y a peu de différences ... on note toutefois que l'indirect est un chouia (très legers) plus rapide (Les 900 premiers benchs on été à 50/50, après un écart s'est formé).
Et puis ce n'est qu'un tableau à 1001 valeurs ^^

<form action="" method="post" id="form_bench">

Bench 1
$array = range(0, 1000);
foreach ($array as $key => $value)
{
}
Bench 2

foreach (range(0, 1000) as $key => $value)
{
}
Après 6645 benchs (6645 * 1000 6.645.000 exécutions)

Stats Bench 1
<li>Temps total : 18777.09071 s
</li><li>Temps par itérations : 0.00283 s
</li>

Stats Bench 2
<li>Temps total : 20692.81719 s
</li><li>Temps par itérations : 0.00311 s
</li>

</form>

<hr />Si ma reponse te convient, merci de l'accepter ! 
Messages postés
198
Date d'inscription
lundi 28 février 2005
Statut
Membre
Dernière intervention
14 novembre 2008

Merci bien ^^