Bonjour a tous,
J'aimerais savoir quelle est la facon qui est la moins gourmande pour php entre 2 solutions visant a récupérer un ou plusieurs chiffres.
(but du jeux : 5-test.html => 5, 55-test.html => 55, 5-test4-r.html => 5)
pour essayer de trouver une reponse j'ai essayé ce code :
j'ai tester ce code avec et sans la boucle, avec, le preg match retourne un chiffre plus grand que le explode, tandis que sans la boucle, le preg_match retourne un chiffre plus petit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 $s_str = '5-mont6-itre.html'; $i_fin = 1000; //nb de test a effectuer $i_time1 = microtime(); // for ($i=0; $i<$i_fin; $i++) { $a_array = explode('-',$s_str); $test = $a_array[0]; // print $a_array[0].'<br>'; // } $i_time2 = microtime(); print "tps execution du explode ".(($i_time2-$i_time1))." seconde<br />"; $i_time1 = microtime(); // for ($i=0; $i<$i_fin; $i++) { preg_match('#^([0-9]+).+#', $s_str, $a_array); $test = $a_array[1]; // print $a_array[1].'<br>'; // } $i_time2 = microtime(); print "tps execution du preg_match ".(($i_time2-$i_time1))." seconde<br />";
Est ce que je peux me fier aux chiffres retournés ?
Quelle est la façon de faire la plus rapide dans le cas ou le traitement ne tournerais pas dans une boucle ?
Merci d'avance
Partager