Hallo zusammen,
Da ich demnächst ein längerfristiges Seminar besuche, an dessen Ende die WE-Prüfungen stehen, wollte ich mich vorab schon mal etwas in die Materie einarbeiten und stoße dabei bereits auf die ersten Hürden. Voraustellen möchte ich hier ein paar Prämissen, die ich mir angelesen habe und die hoffentlich richtig sind:
- Der Inhalt zwischen einfachen Anführungszeichen wird exakt so im Browser dargestellt wie geschrieben.
- Der Inhalt zwischen doppelten Anführungszeichen wird geparst und bei Variablen das Ergebnis zurückgeliefert.
- Der Verkettungsoperator (.) dient zum Verbinden von Strings, so dass bei der Ausgabe von Variablen nicht jedesmal ein <echo> angegeben werden muss.
Im ersten Beispiel stehen zu Anfang und Beginn der Zeile doppelte Anführungszeichen, ohne dass ich einen Verkettungsoperator benutzt habe und die Ausgabe funktioniert einwandfrei.
Beim zweiten Beispiel habe ich auch doppelte Anführungszeichen genutzt, die Variablen einmal mit und eine ohne Verkettungsoperator benutzt und die Ausgabe funktioniert trotzdem.
Beim dritten Beispiel sind es einfache Anführungszeichen für die gesamte Zeile und die Variablen stehen in doppelten. Ausgegeben werden hier nur die Textstrings. Gibt es eine Hierachie, bei der doppelte Anführungszeichen ignoriert werden, sofern diese von einfachen umschlossen sind?
Das vierte Beispiel habe ich einem Buch entnommen. Hier stehen überall einfache Anführungszeichen und lediglich der Freiraum zwischen den beiden Variablen ist von doppelten eingeschlossen. Warum das nun funktioniert, ist mir schleierhaft.
Die Beispiele fünf und sechs sind von der Schreibweise her der Umkehrschluss zum vierten und funktionieren beide nicht.
Ich könnte das jetzt noch mit weiteren Beispielen versuchen, aber im Prinzip läuft es darauf hinaus, dass mir die Logik des Ganzen, analog zu den eingangs aufgestellten Prämissen, noch nicht klar ist. Wann benutze ich welche Anführungszeichen, sind Verkettungsoperatoren wirklich notwendig und warum funktioniert das vierte Beispiel, obwohl die doppelten Anführungszeichen innerhalb einfacher stehen und lediglich den Leerraum einschließen?
Da ich demnächst ein längerfristiges Seminar besuche, an dessen Ende die WE-Prüfungen stehen, wollte ich mich vorab schon mal etwas in die Materie einarbeiten und stoße dabei bereits auf die ersten Hürden. Voraustellen möchte ich hier ein paar Prämissen, die ich mir angelesen habe und die hoffentlich richtig sind:
- Der Inhalt zwischen einfachen Anführungszeichen wird exakt so im Browser dargestellt wie geschrieben.
- Der Inhalt zwischen doppelten Anführungszeichen wird geparst und bei Variablen das Ergebnis zurückgeliefert.
- Der Verkettungsoperator (.) dient zum Verbinden von Strings, so dass bei der Ausgabe von Variablen nicht jedesmal ein <echo> angegeben werden muss.
PHP-Code:
<?php
// Variablen
$vorname = "Heinz";
$name = "Schmidt";
// Erstes Beispiel
echo "<p> Herzlich willkommen $vorname $name zum PHP-Kurs</p>";
//Zweites Beispiel
echo "<p> Herzlich willkommen $vorname ".$name." zum PHP-Kurs</p>";
//Drittes Beispiel
echo '<p> Herzlich willkommen ".$vorname." ".$name." zum PHP-Kurs</p>';
// Vierte Beispiel
echo 'Herzlich willkommen '.$vorname." ".$name.' zum PHP-Kurs';
// Viertes Beispiel - funktioniert nicht
echo "Herzlich willkommen" ".$vorname." ".$name." "zum PHP-Kurs";
// Fünftes Beispiel - funktioniert nicht
echo "Herzlich willkommen " .$vorname. ' ' .$name." zum PHP-Kurs";
?>
Beim zweiten Beispiel habe ich auch doppelte Anführungszeichen genutzt, die Variablen einmal mit und eine ohne Verkettungsoperator benutzt und die Ausgabe funktioniert trotzdem.
Beim dritten Beispiel sind es einfache Anführungszeichen für die gesamte Zeile und die Variablen stehen in doppelten. Ausgegeben werden hier nur die Textstrings. Gibt es eine Hierachie, bei der doppelte Anführungszeichen ignoriert werden, sofern diese von einfachen umschlossen sind?
Das vierte Beispiel habe ich einem Buch entnommen. Hier stehen überall einfache Anführungszeichen und lediglich der Freiraum zwischen den beiden Variablen ist von doppelten eingeschlossen. Warum das nun funktioniert, ist mir schleierhaft.
Die Beispiele fünf und sechs sind von der Schreibweise her der Umkehrschluss zum vierten und funktionieren beide nicht.
Ich könnte das jetzt noch mit weiteren Beispielen versuchen, aber im Prinzip läuft es darauf hinaus, dass mir die Logik des Ganzen, analog zu den eingangs aufgestellten Prämissen, noch nicht klar ist. Wann benutze ich welche Anführungszeichen, sind Verkettungsoperatoren wirklich notwendig und warum funktioniert das vierte Beispiel, obwohl die doppelten Anführungszeichen innerhalb einfacher stehen und lediglich den Leerraum einschließen?
Kommentar