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 39.608955 ms 100%
Doublequotes 40.25197 ms 102%
Doublequotes (mit Variablen) 44.937849 ms 113%
Grundlagen - Kontrollstrukturen - Schleifen - Arrays - Inkrement - Strings - Ausgabefunktionen - echo/print
Startseite   –   Impressum