webentwicklung-frage-antwort-db.com.de

Zeilenumbruch in PHP in einfachen Anführungszeichen

Ich versuche, möglichst einfache Anführungszeichen zu verwenden, und ich habe festgestellt, dass ich\n nicht in einfachen Anführungszeichen verwenden kann. Ich weiß, dass ich einen Zeilenumbruch buchstäblich eingeben kann, indem ich die Eingabetaste drücke, was jedoch die Einrückung meines Codes beeinträchtigt.

Gibt es ein Zeichen ASCII oder etwas, das ich eintippen kann, das bei einfachen Anführungszeichen einen Zeilenumbruch ergibt?

112
Matt

Nein, weil einfache Anführungszeichen den Austausch von Hex-Codes sogar verhindern.

echo 'Hello, world!' . "\xA";
127
echo 'hollow world' . PHP_EOL;

Verwenden Sie die Konstante PHP_EOL, dann ist es auch unabhängig vom Betriebssystem.

93
Cups

Wenn Sie echoing zu einem Browser sind, können Sie <br/> mit Ihrer Anweisung verwenden:

echo 'Will print a newline<br/>';
echo 'But this wont!';
22

Zu Ihrer Information ist es möglich, Zeilenumbrüche ohne Anführungszeichen in Strings zu setzen:

printf('Please%1$sgive%1$sme%1$snewlines%1$s', PHP_EOL);

Was nützlich sein kann Wenn Ihre irrationale Angst vor Anführungszeichen keine Grenzen kennt. Obwohl ich befürchte, kann diese Heilung schlimmer sein als die Krankheit. 

21
leepowers

Es gibt IS einen Unterschied zur Verwendung von einfachen VS-Anführungszeichen in PHP

z.B.:. 1. echo '$var\n'; 2. echo "$var\n";

  • in 1 wird PHP wörtlich gedruckt: $var\n
  • in 2 muss PHP den Speicherort nach $var durchsuchen und den Wert an diesem Speicherort zurückgeben. Außerdem muss das\n als neues Zeilenzeichen analysiert und das Ergebnis gedruckt werden

Wir sind im Bereich von Millionstel Sekunden, aber es gibt IS einen Leistungsunterschied. Ich würde Ihnen empfehlen, nach Möglichkeit einfache Anführungszeichen zu verwenden, selbst wenn Sie wissen, dass Sie diese Leistungssteigerung nicht wahrnehmen können. Aber ich bin ein paranoider Entwickler, wenn es um Leistung geht.

8
linuxdev

Die einzige Escape-Sequenz, die Sie in einfachen Anführungszeichen verwenden können, ist für das einzelne Anführungszeichen selbst.

$foo = 'That\'s great';

Die einzige Möglichkeit, eine neue Zeile in eine mit einfachen Anführungszeichen erstellte Zeichenfolge einzufügen, ist das Einfügen einer Literal-Newline

$bar = 'That\'s
cheating';
6
Alan Storm

Vielleicht möchten Sie <<< verwenden

z.B. 

<<<VARIABLE
this is some
random text
that I'm typing 
here and I will end it with the 
same Word I started it with
VARIABLE

Weitere Informationen unter: http://php.net/manual/de/language.types.string.php

Übrigens - Einige Codierungsumgebungen wissen nicht, wie sie mit der obigen Syntax umgehen sollen.

3
Duniyadnd

Ich frage mich, warum niemand die Alternative der Funktion chr() hinzugefügt hat:

echo 'Hello World!' . chr(10);

oder effizienter, wenn Sie es millionenfach wiederholen:

define('C_NewLine', chr(10));
...
echo 'Hello World!' . C_NewLine;

Dies vermeidet die dumm aussehende Notation der Verkettung einer Zeichenfolge mit einem oder zwei Anführungszeichen.

1
NewSites

Sie können dies verwenden:

echo 'Hello World' . "\n";
0
Cisco Test

falls Sie eine Variable haben: 

$your_var = 'declare your var';
echo 'i want to show my var here'.$your_var.'<br>';
0
Braham Youssef

Nein, laut Dokumentation , PHP erkennt kein besonderes Symbol in einfachen Anführungszeichen Und Es gibt keinen einzigen Grund, so viel Anführungszeichen wie möglich zu verwenden 

0