1 der Unterschied zwischen einfachen Anführungszeichen und doppelte Anführungszeichen in PHP
In PHP wird eine Zeichenfolge in der Regel in einem Paar von Anführungszeichen, wie definiert:
"Ich bin eine Zeichenkette in einfachen Anführungszeichen"
"Ich bin eine Zeichenfolge in Anführungszeichen"
Der PHP-Parser verwendet Paare von Anführungszeichen um eine Zeichenfolge zu bestimmen. Daher müssen alle Zeichenfolgen verwenden das gleiche Einzel- oder Doppelzimmer
Anführungszeichen am Anfang und Ende definieren. Beispielsweise ist die folgende Zeichenfolge Definition illegal:
"Ich bin keine gültige Zeichenfolge, da habe ich Antriebszähne Zitat markiert"
"Mich nicht!"
Wenn Sie eine Zeichenfolge definieren, wird nur ein Anführungszeichen als eine Definition, das heißt, eine einfache oder doppelte Anführungszeichen behandelt. Also, wenn eine Zeichenfolge wird durch eine doppelte geführt.
Die Nummer beginnt, dann nur die doppelten Anführungszeichen vom Parser analysiert werden. Auf diese Weise können Sie jedes andere Zeichen in der Zeichenfolge in Anführungszeichen, oder sogar ein einzelnes Zitat einfügen
Auflösung Die folgenden Anführungszeichen sind legal:
$S = "Ich bin ein 'einfaches Anführungszeichen Zeichenkette' innerhalb einer Zeichenfolge in Anführungszeichen";
$S = "Ich bin eine"doppelte Anführungszeichen Zeichenfolge"innerhalb eines einfachen Anführungszeichen Strings";
Wenn PHP Anführungszeichen antrifft, die am Anfang einer Zeichenfolge entsprechen, es wird gedacht, um am Ende der Zeichenfolge, also:
"Warum ist"das"?"
In der Tat ist der PHP-Parser in drei Teile gegliedert:
"Warum"--ein doppeltes Anführungszeichen-Zeichenfolge, die ein einfaches Anführungszeichen enthält
Diese - redundante Zeichen, die der Parser nicht umgehen kann
"A"?--eine normale Zeichenfolge
Das obige Beispiel versucht, doppelte Anführungszeichen in einer Zeichenfolge doppeltes Anführungszeichen enthalten, während der Parser Zeichenfolge Knoten betrachtet, wenn es das zweite doppelte Anführungszeichen trifft
Zieh dich warm an. Zur Erreichung der Zwecke einschließlich Anführungszeichen markiert, der Parser muss die ursprüngliche Bedeutung der Zeichenfolge ignorieren, stößt es die einfachen Anführungszeichen nicht vergessen, wir sind in Anführungszeichen von der
Fügen Sie einen umgekehrten Schrägstrich in den Vordergrund, PHP zu sagen: diese Anführungszeichen ist Teil der Zeichenfolge, und das ist der korrekten Darstellung:
"Warum Doesn ' t \", die"?"
Ein häufiges Problem in englische Zeichenfolgen ist die Verwendung des Apostroph ', weil es ein einfaches Anführungszeichen, die sehr häufig in englischen Zeichenfolgen
(Alle Zellen in englischer Sprache). Sie müssen diese Zeichen mit Sorgfalt behandeln:
"\ ' Ll würde besser Ihren Apostrophe entkommen"
Sie können sehen, dass der Backslash seine besondere Bedeutung in der Zeichenfolge hat, und wenn wir den Backslash selbst in der Zeichenfolge einbeziehen müssen, wir müssen
Fügen Sie einen umgekehrten Schrägstrich in den Vordergrund des Symbols. Zum Beispiel:
$File = "C:\Windows\System.ini";
Echo $file; Das Druckergebnis ist: C:windowssystem.ini
$File = "C:\\windows\\system.ini";
Echo $file; Das Druckergebnis ist: c:\windows\system.ini
Eine weitere Methode zur Festlegung der Zeichenfolge entfällt lästiges Sonderzeichen und erleichtert die längeren Text verweisen. Die Zeichenfolge Definition party
Die Methode beginnt mit eine benutzerdefinierte Zeichenfolge, gefolgt von der Spitze, die letzte Zeile endet mit der benutzerdefinierten Zeichenfolge, und muss verwendet werden.
Zweitens, die Verbindung von Zeichenfolgen
Strings können Zeichenfolge Steckverbinder (.) Zu verbinden, wie z.B.:
$First _name = "Charlie";
$Last _name = "Braun";
$Full _name = $first _name. ' ' . $Last _name;
Eine häufige Anwendung ist die Schaffung große Teile des HTML-Zeichenfolge Code zuweisen einen Wert Zahl (=) Anschluss (.), der als abgekürzt werden kann eine (. =) Charakter
Nummer, wie:
$Html = '%';
$Html. = '%';
Für ($i = 0; $i < 10; $i + +) {}
$Square = $i * $i;
$Html. = '%'. $I. '%'. $Square. '%';
}
$Html. = '%';
III. Verwendung von Variablen in strings
Diese Funktion können Sie auf Stick und eine große Anzahl von einfachen Zeichenketten ohne das Verbindungssymbol. PHP ermöglicht es uns, Wörter direkt in eine Zeichenfolge in Anführungszeichen eingeschlossen
String-Variablen, finden wir, dass die folgenden zwei Zeichenfolgen mit dem gleichen Ergebnis verarbeitet werden.
$Full _name = $first _name. ' ' . $Last _name;
$Full _name = "$first _name $last _name";
Die Verarbeitung von einfachen Anführungszeichen und doppelte Anführungszeichen in PHP ist nicht dasselbe. Der Inhalt der Zeichenfolge ein doppeltes Anführungszeichen können interpretiert und ersetzt, während die einzelnes Zitat
Der Inhalt einer Zeichenfolge gelten immer als normale Zeichen. Zum Beispiel:
$Foo = 2;
Echo "Foo $foo"; Druckergebnis: Foo ist 2
Echo ' Foo $foo '; Druckergebnis: Foo ist $foo
Echo "Foo $foo \n"; Druckergebnis: Foo ist 2 (gleichzeitige Zeilenumbruch)
Echo ' Foo $foo \n "; Druckergebnis: Foo ist $foo \n
Wie Sie sehen können, auch der umgekehrten Schrägstrich in einem einfachen Anführungszeichen String verliert seine erweiterte Bedeutung (neben dem Einfügen von Backslash \ \ und Einfügen von Bestellungen)
2 PHP in den Unterschied zwischen einfachen Anführungszeichen und doppelte Anführungszeichen \ '). Also, wenn Sie möchten machen Variablensubstitution in einer Zeichenfolge und Escape-Sequenzen wie \n (Zeilenumbrüche) enthalten, sollten Sie ein Dual-Zitat verwenden
Auflösung Einfache Anführungszeichen kann überall eingesetzt werden, sonst, und es geht schneller, Single-Quote String-Verarbeitung in einem Skript, da verwenden den PHP-Parser
Einfaches Anführungszeichen Zeichenfolge Verarbeitungsmethode ist relativ einfach und die Verarbeitung von doppelten Anführungszeichen, da die Zeichenfolge innerhalb auch müssen analysiert werden also immer komplexer, so die Verarbeitung beschleunigen,
Grad ist etwas langsamer.
Wenn Sie komplexe Kombinationen von Variablen in einer Zeichenfolge verweisen, möglicherweise gibt es einige Probleme, und der folgende Code korrekt funktioniert:
Echo "Wert $foo =";
Echo "Wert = $a [$i]";
Und der folgende Code nicht die gewünschten Ergebnisse erhalten:
Echo "Wert = $a [$i] [$j]"; Wir möchten ein Element des zweidimensionalen Arrays $a drucken.
Um die möglichen Probleme bei der Verwendung dieser Zeichenfolgen zu vermeiden, trennen wir in der Regel komplexe Variablen aus der Zeichenfolge wie folgt:
Echo "Wert =". $A [$i] [$j];
Ein weiterer Ansatz besteht darin, komplexe Variablen in geschweifte Klammern einschließen, und der Parser kann sie korrekt identifizieren:
Echo "Wert = {$a [$i] [$j]}" //print ein Element ein zweidimensionales Array $a
Auf diese Weise entstanden neue Probleme. Wenn wir die geschweiften Klammern Zeichen selbst in einer Zeichenfolge verweisen möchten, denken Sie daran, das Escape-Zeichen zu verwenden:
$Var = 3;
Echo "Wert = {$var}"; Ergebnis drucken "Wert = 3"
Echo "Wert = \{$var}"; Ergebnis drucken "Wert = {3}"
III. Slash und SQL-Anweisungen
Generierung von HTML-Code oder SQL-Abfrage Aussagen ist oft anzutreffen und interessant, beim Schreiben von PHP-Programmen. Warum sagst du das, denn es handelt sich um eine andere Art von Code zu generieren, und Sie müssen sorgfältig und befolgen die Schrift Syntax und Bestimmungen dieses Kodex.
Betrachten wir ein Beispiel wo möchten Sie Abfrage Benutzer deren Namen "O ' Keefe" in der Datenbank befinden, ist die übliche Form von SQL-Anweisungen:
Wählen Sie * von Benutzern wo Last_name = 'O\' Keefe "
Beachten Sie, dass die SQL-Anweisung dieses Englisch alle Gitter (Apostroph) müssen mit einem Backslash maskiert werden. PHP bietet speziell Funktionen, um Situationen zu bewältigen, wo eine Funktion Addslashes ($STR) zum automatischen Einfügen von einem Backslash-Escape-Zeichen in eine Zeichenfolge Zitate dient:
$Last _name = "O" Keefe ";
$Sql = "wählen Sie * von Benutzern wo Last_name =" ". Addslashes ($last _name). "'";
In diesem Beispiel müssen Sie auch ein einfaches Anführungszeichen (SQL-Syntax-Anforderung) außerhalb der Zeichenfolge Last_name umschließen, da die doppelten Anführungszeichen hier verwendet werden, so gibt es keine Notwendigkeit, Flucht für diese einfache Anführungszeichen zu verwenden. Die folgende Anweisung ist einer gleichwertigen Form mit einem einfachen Anführungszeichen-String:
$Sql = "wählen Sie * von Benutzern wo Last_name = \ '. Addslashes ($last _name). '\'';
Wann immer Sie wollen, einer Zeichenfolge in einer Datenbank zu schreiben, müssen Sie sicherstellen, dass die Anführungszeichen in es richtig das Fluchtsymbol verwenden die ist ein häufiger Fehler, den viele PHP-Anfänger oft machen.
IV. doppelte Anführungszeichen und HTML
Häufig im Gegensatz zu SQL-Anweisungen werden doppelte Anführungszeichen repräsentieren Zeichenfolgen in standard HTML-Sprachen (viele Browser haben jetzt starke Fehlertoleranz, so dass Zeichenfolgen mit einfachen Anführungszeichen oder sogar Zitate in HTML dargestellt werden), wie:
$Html = "< ein Href =". $url. "" > '. $Link. " B ';
$Html = "< ein Href = \" $url \ "$link von der"
Die HTML-Sprache unterstützt keine Backslash Flucht, die empfunden wird, wenn wir versteckte Formulareingaben verwenden, um Daten zu übertragen. Der beste Weg, um den Wert der eine versteckte Eingänge festlegen soll es mit Htmlspecialchars ()-Funktion zu kodieren. Die folgende Anweisung überträgt normalerweise eine, die Anführungszeichen enthalten kann:
≪ Input Type = hidden Name = Var-Wert = "<? Php Echo Htmlspecialchars ($var)? >"
Zunächst definiert das Anführungszeichen die Zeichenfolge. Zur Erreichung der Zwecke einschließlich Anführungszeichen markiert, der Parser muss die ursprüngliche Bedeutung der Zeichenfolge ignorieren, stößt es die normalen Anführungszeichen, fügen wir einen Backslash vor die Anführungszeichen, PHP zu sagen: diese Anführungszeichen ist Teil der Zeichenfolge, die korrekte Darstellung Methode ist dies: einfache Anführungszeichen ist überall einsetzbar, Es geht schneller, verwenden Sie Single-Quote Zeichenfolge in einem Skript-Verarbeitung, da der PHP-Parser einzelne Anführungszeichen Zeichenfolgen auf einfachere Weise verarbeitet, und die Verarbeitung von doppelten Anführungszeichen komplexer, ist da es muss auch innerhalb der Zeichenfolge analysiert werden, so dass die Verarbeitungsgeschwindigkeit langsamer ist.
Dieses... Doppelte Anführungszeichen Flucht, einfache Anführungszeichen nicht entkommen
Zum Beispiel: / R/n ist eine Zeile ändern, aber wenn Sie eine Datei in einfache Anführungszeichen schreiben, werden sie keine Zeile ändern, aber einen Charakter, wenn Sie eine Datei zu schreiben, doppelte Anführungszeichen, es ist eine Zeile ändern.