Frage an string, symbols, php – Alternative Möglichkeit, String-Literale in PHP zu schreiben? (ohne 'oder ")

12

Was könnte ich in PHP anstelle der normalen "und" Symbole um etwas verwenden?

Beispiel:

echo("Hello World!")

Vielen Dank!

Ich habe nicht abgelehnt, aber ich denke nicht, dass es möglich ist, ein Tutorial oder eine grundlegende Dokumentation von PHP zu lesen, ohne die Antwort zu finden. Denys Séguret
Und vergessen Sie nicht, dass Sie in HTML besser verwenden sollten". Denys Séguret
Tatsächlich sind Heredoc und Nowdoc, wie ich unten beschrieben habe, ziemlich unbekannte Funktionen von PHP. Jeroen
... da, obwohl die Absicht möglicherweise falsch zu sein scheint, habe ich noch keine Alternativen erwähnt. user166390

Deine Antwort

1   die antwort
28

Zeichenfolgen in einfache Anführungszeichen zu setzen', Anführungszeichen", heredoc undnowdoc.

Lies dasVollständiger php.net Artikel hier.

Heredoc

Eine dritte Möglichkeit zur Begrenzung von Zeichenfolgen ist die Heredoc-Syntax: <<<. Nach diesem Operator wird eine Kennung und anschließend ein Zeilenumbruch angegeben. Die Zeichenfolge selbst folgt und dann derselbe Bezeichner erneut, um das Zitat zu schließen.

http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;
Nowdoc

Nowdocs beziehen sich auf Zeichenfolgen in einfachen Anführungszeichen, Heredocs auf Zeichenfolgen in doppelten Anführungszeichen. Ein Nowdoc wird ähnlich wie ein Heredoc angegeben, es wird jedoch kein Parsing in einem Nowdoc durchgeführt. Das Konstrukt ist ideal zum Einbetten von PHP-Code oder anderen großen Textblöcken, ohne dass ein Escapezeichen erforderlich ist. Es hat einige Gemeinsamkeiten mit dem SGML-Konstrukt, indem es einen Textblock deklariert, der nicht zum Parsen vorgesehen ist.

Ein Nowdoc wird mit der gleichen <<< Sequenz identifiziert, die für Heredocs verwendet wird, aber der folgende Bezeichner ist in einfachen Anführungszeichen eingeschlossen, z. <<< 'EOT'. Alle Regeln für heredoc-Identifikatoren gelten auch für nowdoc-Identifikatoren, insbesondere für die Darstellung der Abschlusskennung.

http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.nowdoc

$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
EOD;
Flucht

Wenn Sie einfache oder doppelte Anführungszeichen in einfachen oder doppelten Anführungszeichen verwenden möchten, müssen Sie sie maskieren:

$str = '\''; // single quote
$str = "\""; // double quote

Wie Herbert bemerkte, müssen Sie einfache Anführungszeichen innerhalb eines Strings mit doppelten Anführungszeichen nicht umgehen und Sie müssen doppelte Anführungszeichen innerhalb eines Strings mit einfachen Anführungszeichen nicht umgehen.

Wenn Sie in großem Umfang Anführungszeichen hinzufügen müssen, verwenden Sie diefügt Schrägstriche hinzu () Funktion:

$str = "Is your name O'reilly?";
echo addslashes($str); // Is your name O\'reilly?
Sie müssen einfache Anführungszeichen nicht in Anführungszeichen setzen oder umgekehrt. z.B."O'reilly" oder'She said, "Me too"' Herbert
+1 für die Referenzen. Das Here-Doc und das Now-Doc sehen sich jedoch sehr ähnlich ;-) Es könnte sich lohnen, die Interpolationsunterschiede zu erweitern oder darauf hinzuweisen. user166390
Zitate von der php.net Seite als Erklärung hinzugefügt;) Jeroen
Natürlich hat mein Bad meine Antwort aktualisiert. Jeroen

Verwandte Fragen