Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erklärung der einfachen und doppelten Anführungszeichen und geschweiften Klammern in PHP

Ausführliche Erklärung der einfachen und doppelten Anführungszeichen und geschweiften Klammern in PHP

巴扎黑
巴扎黑Original
2016-11-12 11:10:091466Durchsuche

PHP-Zusammenfassung

Grundwissenszusammenfassung 1: Zusammenfassung der einfachen Anführungszeichen, doppelten Anführungszeichen und geschweiften Klammern in PHP
In PHP können Zeichenfolgen in einfachen oder doppelten Anführungszeichen ausgedrückt, ausgegeben usw. werden.
Zum Beispiel:

PHP-Code

<?php   
     echo  "aabbcc";      
     echo &#39;aabbcc&#39;;  
?>

Ihre Ausgabe ist die gleiche. wird aabbcc ausdrucken
Aber wenn aabbcc einer Variablen zugewiesen ist, wie soll es ausgegeben werden?

PHP-Code

<?php   
$a = "aabbcc";//或者$a=&#39;aabbcc&#39;;  
echo $a;  
echo "$a"; //在这里你会发现 他们的输出都是 aabbcc  
//如果是输出并且回车呢  
echo $a."\n";  
echo "$a\n";   
//这两种方式都是可以的。输出都是aabbcc  为什么呢,  
  
?>

liegt daran, dass doppelte Anführungszeichen in PHP die Funktion der Interpretation haben und die Zeichenfolge interpretieren, wenn die Zeichenfolge Variablen oder Escapezeichen enthält werden in der Ausgabe zusammen interpretiert. Einfache Anführungszeichen haben keine Interpretationsfunktion, das heißt, wenn Sie „$a“ oder „n“ echoen, werden nur $a n als Zeichenfolge ausgegeben und nicht die gewünschten Variablen oder Zeichen.
Was ist die Erklärungsfunktion? Tatsächlich ist es so, dass, wenn Sie doppelte Anführungszeichen verwenden, um eine Zeichenfolge auszugeben, das System regelmäßig das $-Symbol abgleicht, um die Variable zu identifizieren. Das gilt auch für Escape-Zeichen. . .
Es gibt eine weitere Situation bezüglich der Flucht oben. Wir geben jeweils „ einfache Anführungszeichen und doppelte Anführungszeichen „

PHP-Code

echo &#39;\&#39;&#39;;  
echo "&#39;"; //双引号括住单引号,避免了再去用\ 转义  
  
echo "\"";  
echo &#39;"&#39;;  //针对双引号,单引号有了避免了转义的操作。

aus. Anhand der obigen Erklärung können wir das also erkennen, wenn wir einfach die Zeichenfolge ausgeben Ist nichts, was einer Erklärung bedarf, sollten wir einfache Anführungszeichen verwenden. Dies kann zwar keine offensichtliche Verbesserung der Ausführungsgeschwindigkeit bewirken, aber im Prinzip ist die Ausführungseffizienz höher als bei der Verwendung von doppelten Anführungszeichen muss interpretiert werden, wir können „“ doppelte Anführungszeichen verwenden. Die Ausgabe lautet beispielsweise aaaaaaabbcc

PHP-Code

Der zweite Schritt besteht darin, dass der Autor tatsächlich die Variable $res möchte, aber was erhalten wird, ist $resbbbb.
$res = &#39;xxx&#39;;    //第一步  
echo "aaa$resbbbb"; //第二步  
//这样,php在解析过程中,会当作$resbbbb 是一个变量,自然就会报错,  
//如何规避这样的情况呢。  
echo “aaa{$res}bbbb”; //第三步
Weil Zend beim Parsen nur res erkennt Solange die Variable ein Zeichen ist (_-Zeichen und nicht mit einer Zahl beginnt), stimmt das reguläre Muster des Systems immer überein, wenn Leerzeichen, $ und Leerzeichen vorhanden sind (natürlich die Leerzeichen). Hier müssen nur Zeichen enthalten sein, die nicht in der Variablenbenennungsspezifikation enthalten sind.)

echo „aaa$res bbbb“; Autor möchte den zusätzlichen Platz nicht?
Verwenden Sie dann den Code im dritten Schritt.
Beim Parsen findet Zend auch den regulären Ausdruck Zeichen in {} werden mit normalen doppelten Anführungszeichen abgeglichen, sodass $res nicht direkt gefunden wird. „
“ Was ist, wenn die geschweiften Klammern {aaa $res} sind? res}bbbb"; Das heißt, es gibt nicht nur Variablen in geschweiften Klammern oder keine Variablen.
Zu diesem Zeitpunkt beurteilt das System die gesamte Zeichenfolge erneut, indem es doppelte Anführungszeichen verwendet, um die Variablen zu finden. Wenn das "} " nach res gehört nicht zur Variablenbenennung.
Die obige Ausgabe lautet also: aaa{ggg xxx}bbbb
Zusammenfassung: Wenn Zeichenfolgen und Variablen für die Ausgabe verkettet werden, ist die Operationseffizienz höher. Es ist {} Das schließt Variablen ein. Natürlich sollte es in {} keine Nichtvariablen geben, sonst ist es langsamer als die direkte Verwendung von „“.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn