PHP INITIÉ - Simples quotes et doubles quotes

PHP INITIÉ - Simples quotes et doubles quotes

Parlons des simples et double quotes. Dans un premier temps quelle est la différence entre les simples et double cote? Les doubles évaluent les variables alors que les simples ne le font pas. Les développeurs ont été endoctriné depuis des années pour optimiser leur scripts en parsant au mieux leur code avec des simples quotes. Avec le temps nous avons voulu faire des tests avant de revenir sur des vieux scripts et les modifier.

PHP INITIÉ - Simples quotes et doubles quotes

.01
.02
.03
.04
.05
.06
.07
.08
.09
.10
.11
.12
.13
.14
.15
.16
.17
.18
.19
.20
.21
.22
.23
.24
.25
.26
.27
.28
.29
.30
.31
.32
.33
.34
.35
.36
.37
.38
 
<?php 
 
define
('MAX',2000000); 
 
function
f1()  { 
    for(
$i=0;$i<MAX; $i++)  { 
       
$c = "test " . $i
    } 

 
 
function
f2()  { 
    for(
$i=0;$i<MAX; $i++)  { 
       
$c = "test $i"
    } 

 
 
function
f3()  { 
    for(
$i=0;$i<MAX; $i++)  { 
       
$c = 'test ' . $i
    } 

 
 
$t1 = microtime(true); 
f1(); 
echo
'Time 1: ' , (microtime(true) - $t1) , "n"
 
$t2 = microtime(true); 
f2(); 
echo
'Time 2: ' , (microtime(true) - $t2) , "n"
 
$t3 = microtime(true); 
f3(); 
echo
'Time 3: ' , (microtime(true) - $t3) , "n"
?>


Les résultats sont:

Time 1: 2.898087978363
Time 2: 3.5480048656464
Time 3: 2.8503499031067

Des résultats sont plus qu'intéressant. Nous avons utilisé la version php 5.2.0 qui visiblement est beaucoup plus performante que les anciennes versions car on ne voit quasiment aucune différence d'exécution entre l'exemple 1 et l'exemple 3 . On peut en conclure qu'à moins de faire une itération (exemple 2), il n'est pas nécessaire de parser avec des simples cotes. Pour l'exemple 2, personne ne peut descendre en dessous des 0.6 secondes pour 1 million d'itérations.

En conclusion les développeurs peuvent passer moins de temps à faire de nombreux calculs mentaux pour optimiser leur code, qu'ils fassent comme si tout était déjà optimal. Un vrai bonheur!!