Erkennt PHP einfache Anführungsstriche als eine Initialisierung einerZeichenkette
Hallo und einen schönen Nachmittag,
ich wollte gerad mal alle Variablen vernünftig initialisieren und da ist mir mitten drin eingefallen, dass man ja eine "zukünftige " Ganzzahl anders initialisiert als eine Zeichenkette.
$ganzzahl = 0;
$zeichenkette="";
Nun hab ich meine Zeichenketten aber alle mit einem einfachen Anführungszeichen initialisiert.
--> Wird die Variable dann auch als Zeichenkette initialisiert oder wie wertet das PHP dann aus?Selbstverständlich kann ich schnell mal alle "" durch '' ersetzen, aber mir geht es hier mehr ums Verständnis.
Ich hoffe meine Frage ist nicht ganz zu langweilig...
Einen lieben Gruss
Mel
Antwort schreiben
Antwort 1 von Rangoo vom 14.08.2019, 17:48 Options
'n Abend!
Der Unterschied zwischen einfachen und doppelten Anführungszeichen ist die Menge der unterstützten Steuerzeichen:
Die PHP-Dokumentation
Antwort 2 von Mel vom 14.08.2019, 18:27 Options
Hallo Rangoo,
Zitat:
Der Unterschied zwischen einfachen und doppelten Anführungszeichen ist die Menge der unterstützten Steuerzeichen:
Die PHP-Dokumentation
Das verstehe ich jetzt nicht ganz. Könntest Du das ein wenig genauer erläutern?
Der prinzipielle Unterschied der Verwendung von "" oder '' ist mir schon klar, aber eben nicht wie nun php es bei der Initialisierung sieht.
--> Wird die Variable dann auch als Zeichenkette initialisiert oder wie wertet das PHP dann aus? Ja ?
Wäre nett, wenn Du das noch einmal mit anderen Worten schreibst, denn noch hab ich es nicht verstanden.
Danke Dir im voraus
Mel
Antwort 3 von Supermax vom 14.08.2019, 18:37 Options
Sowohl "" als auch '' stehen für eine Zeichenkette. Innerhalb von einfachen Anführungsstrichen werden Escapesequenzen wie \n (für Zeilenvorschub oder \t (für Tabulator) sowie Variablen nicht ausgewertet, innerhalb von "" schon.
Antwort 4 von Supermax vom 14.08.2019, 18:46 Options
Abgesehen davon kennt PHP kein strenges Typkonzept; man kann auch mit Zeichenketten "rechnen", wenn sich der Inhalt der Zeichenkette als Zahl darstellen läßt.
Also z.B.
$x = "3";
$y = 5;
$ergebnis = $x * $y;
echo $ergebnis;
Spuckt "15" aus; da der Operator * nur mit Zahlen arbeitet, wird beim Rechnen die Zeichenkette "3" einfach in die Zahl 3 umgewandelt.
Antwort 5 von Mel vom 14.08.2019, 19:27 Options
Hallo Supermax,
vielen lieben Dank für die einfache Erklärung. Jetzt hab auch ICH es verstanden ;-)
Super, wieder einen Schritt weiter dank Dir
Dankeschön und einen schönen Abend noch
Mel