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.784908 ms 100%
Doublequotes 39.909124 ms 100%
Doublequotes (mit Variablen) 42.115927 ms 106%
Grundlagen - Kontrollstrukturen - Schleifen - Arrays - Inkrement - Strings - Ausgabefunktionen - echo/print
Startseite   –   Impressum