PHP Performance Benchmarks & Optimierungstipps

Stringvariablen

Für die Arbeit mit Strings bietet PHP eine Vielzahl von Möglichkeiten: mit Anführungszeichen, Hochkommas oder Konkatenieren (aneinanderreihen).
Wie unterscheiden sich diese im Detail?

Doublequotes / Anführungszeichen (mit eingeschlossenen Variablen)

<?php
$i 
0;
$str "";
while(
$i 100000) {
    
$n rand(0,9);
    
$str .= "Ich bin die $i. Testzahl $n";
    
$i++;
}
?>

Die auf dem ersten Blick einfachste und schnellste Möglichkeit:
PHP erkennt Variablen und Text zwischen Anführungszeichen automatisch.

Doublequotes / Anführungszeichen (mit konkatenierten Variablen)

<?php
$i 
0;
$str "";
while(
$i 100000) {
    
$n rand(0,9);
    
$str .= "Ich bin die ".$i.". Testzahl ".$n;
    
$i++;
}
?>

Der Text bleibt zwischen den Anführungszeichen jedoch lagern wir die Variablen aus und hängen diese vor und hinter den Text an.

Singlequotes / Hochkomma (mit konkatenierten Variablen)

<?php
$i 
0;
$str '';
while(
$i 100000) {
    
$n rand(0,9);
    
$str .= 'Ich bin die '.$i.'. Testzahl '.$n;
    
$i++;
}
?>

Zwischen Hochkommas würde PHP alle Variablen ignorieren.

Deutlich lässt sich erkennen, dass PHP einiges an Arbeit erspart bleibt, wenn die Variablen nicht mit im String stehen (siehe 1. Beispiel). Das Suchen, Überprüfen, Ersetzen und Einfügen der Variablen in den String lässt dieser Möglichkeit keine Chance in einem direkten Vergleich.

Variante Laufzeit Verhältnis
Doublequotes (mit Variablen) 17.850161 ms 100%
Singlequotes 18.964052 ms 106%
Doublequotes 19.048929 ms 107%
Grundlagen - Kontrollstrukturen - Schleifen - Arrays - Inkrement - Strings - Ausgabefunktionen - echo/print
Startseite   –   Impressum