'blabla: '.$datensatz[2].'<br>' oder "blabla: $datensatz[2]<br>"

mKeimeier

Grünschnabel
Hallo Leute

Meine Überlegung besteht darin, ob es sinnvoller oder weniger sinnvoll ist, Variablen in einen String mit folgender Methode einzubinden:
Code:
echo 'Hi, '.$name[1].'';

Auf der anderen Seite steht die "automatische" Einbindung:
Code:
echo "Hi, $name[1]";

Letztere Möglichkeit ist doch eigentlich rechenintensiver für den Server, weil er den kompletten String nach dem Zeichen $ durchsuchen muss (im Beispiel unbedeutend, jedoch bei kompletten Seiten nicht ohne Bedeutung)...

Wie handhabt ihr das? Kennt ihr weitere Vor- und Nachteile? Was empfehlt ihr mir?

mfg
m.k.
 
Ganz PHP ist sehr Quick'n'Dirty. Also du kannst dir viel erlauben. Denn mit Datentypen kannst du bei PHP gar nichts falsch machen. PHP erlaubt dir alles. Deshalb geht auch deine 2te Variante. Aber wenn du dir einen sauberen Programmierstil aneigenen möchtest würde ich die erste Variante nehmen. Denn in jeder sauber durchgezogenen Programmiersprache die ich kenne gibt muss man die Verknüpfungsoperatoren (in PHP den Punkt) einfügen.
Wegen der Rechnerauslastung mach dir mal keine Sorgen. Der Parser geht ja sowieso den ganzen String durch und sucht nach einer Variable. Ob dort jetzt eine ist oder nicht.

MFG
redX
 
Kann ich redX nur beipflichten.
Der erste ist aber vor allem in den meisten Editoren der besser lesbare Code.
Durch die Verknüpfungsoperatoren wird er dann -meist- andersfarbig dargestellt.

Bei mir haben Klammern ausserdem noch eigene Farbe, wodurch sich
PHP:
echo('Hi, '.$name[1]);
anbietet.
 
redX hat gesagt.:
Der Parser geht ja sowieso den ganzen String durch und sucht nach einer Variable. Ob dort jetzt eine ist oder nicht.

Im ersten Beispiel durchsucht er den Code doch nicht, weil der String mit einem einfachen Anführungszeichen beginnt ( ' ). Oder bin ich da falsch informiert?
 
Nein, da hast du Recht mKeimeier,
man kanns ja ganz einfach ausprobieren:
PHP:
$Variable = "Hallo";
echo ' Hallo $Variable '; // ergibt " Hallo $variable "
echo " Hallo $Variable "; // ergibt " Hallo Hallo "
Aber ich glaube nicht dass das merkbare Auswirkungen auf den Server hat.
mfg
 
Anzumerken sei noch, das echo ein Sprachkonstrukt ist und keine Funktion. So müssen auch keine parameterumfassenden Klammern gesetzt werden – bei mehr als einem Parameter ist es sogar verboten. Es gibt sogar Behauptungen, dass mehrere einzelne Parameterübergaben schneller seien, als ein durch den Verknüpfungsoperator verbundenen Parameter.
 
Zurück