Forum: PC-Programmierung Unterschied " und ' in php


von Purzelbaum (Gast)


Lesenswert?

Gibt es hierbei einen Unterschied in einem php-Script:

echo "Hallo Welt";
echo 'Hallo Welt';

Beide Varianten funktionieren und es kommt auch nix Fehler.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

http://de2.php.net/manual/de/language.types.string.php

Dort:
1
Unlike the two other syntaxes, variables and escape sequences
2
for special characters will not be expanded when they occur
3
in single quoted strings.

von Chris R. (hownottobeseen)


Lesenswert?

Hi,

ja, es gibt einen Unterschied. Probier mal folgendes:
1
$nacht = "Tag";
2
echo "Es ist $nacht\n";
3
echo 'Es ist $nacht\n';
Dort siehst du gleich zwei Unterschiede zwischen ' und ".

von Purzelbaum (Gast)


Lesenswert?

Danke für Eure schnelle Hilfe, jetzt hab ich den Unterschied kapiert.

von Frank (Gast)


Lesenswert?

> ja, es gibt einen Unterschied. Probier mal folgendes:$nacht = "Tag";
> echo "Es ist $nacht\n";
> echo 'Es ist $nacht\n';
> Dort siehst du gleich zwei Unterschiede zwischen ' und ".

Das ist zwar eine gültige und von Vielen praktizierte Schreibweise, 
guter Stil ist es aber nicht, der sähe so aus (und dann gehts auch mit 
beiden Varianten):

echo 'Es ist '.$nacht.'\n';

(saubere Trennung von Konstanten und Variablen)

von Mark B. (markbrandis)


Lesenswert?

Frank schrieb:
> Das ist zwar eine gültige und von Vielen praktizierte Schreibweise,
> guter Stil ist es aber nicht, der sähe so aus

PHP und sauber programmieren? Ja wie jetzt? ;-)

von Fred (Gast)


Lesenswert?

Frank schrieb:
> (saubere Trennung von Konstanten und Variablen)

Was soll daran denn sauberer sein?

In erster Linie ist es schlechter lesbar, und das ist üblicherweise ein 
ganz deutliches Indiz für "unsauber".

von Frank (Gast)


Lesenswert?

Fred schrieb:
> In erster Linie ist es schlechter lesbar, und das ist üblicherweise ein
> ganz deutliches Indiz für "unsauber".

Was ist daran bitte "schlecht lesbar"?

- Textkonstanten werden in Hochkomma oder Anführungszeichen 
eingeschlossen
- skalare Variablen mit einem führenden $ gekennzeichnet
- beide zu einer Ausgabe verknüpft (in PHP eben mit ".")

Das mag aufwändiger sein und unbequem, sauber ist es allemal, oder was 
soll eine Variable mitten in einer Zeichenkette sonst anders sein als 
"unsauber"?

von Fred (Gast)


Lesenswert?

Frank schrieb:
> Was ist daran bitte "schlecht lesbar"?

Das sieht man doch auf den ersten Blick.

> - Textkonstanten werden in Hochkomma oder Anführungszeichen
> eingeschlossen
> - skalare Variablen mit einem führenden $ gekennzeichnet
> - beide zu einer Ausgabe verknüpft (in PHP eben mit ".")

Das alles hat nichts mit Lesbarkeit zu tun. Du zeigst nur auf, daß dein 
Weg logisch begründbar ist.

von Fred (Gast)


Lesenswert?

Alleine schon das hier:

'.$

gedanklich zu tokenisieren ist ja wohl ganz großer Mist.

Mit Leerzeichen drin würde es halbwegs lesbar.

von nochwas (Gast)


Lesenswert?

Muehsam wird es, wenn man php und Javascript mischt. Dabei muss man 
beachten, dass php auf dem Server zuerst evaluiert wird, und Javascript 
fuer den Client uebrig bleibt.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Frank schrieb:
> echo 'Es ist '.$nacht.'\n';

Und damit würde es eben nicht funktionieren, wenn schon:

echo 'Es ist '.$nacht."\n";

Oder man bemüht gleich ein Templatesystem um Code und Präsentation zu 
trennen.

nochwas schrieb:
> Muehsam wird es, wenn man php und Javascript mischt

Ja, wenn man alles zusammenwirft und die Konzepte nicht versteht wird es 
mühsam...

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.