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
Singlequotes 41.439056 ms 100%
Doublequotes 42.007923 ms 101%
Doublequotes (mit Variablen) 48.952103 ms 118%
Grundlagen - Kontrollstrukturen - Schleifen - Arrays - Inkrement - Strings - Ausgabefunktionen - echo/print
Startseite   –   Impressum