Kapitel 5
Syntax, Variablen und Ausgabe
Wichtige Punkte dieses Kapitels
◆ Verstehen Sie die Grundregeln des PHP-Programmcodes
◆ Speichern in Variablen Informationen
◆ Ausgabe auf einer Webseite anzeigen
In diesem Kapitel erklären wir die grundlegende Syntax von PHP, die Regel, die alle PHP-Programmcodes mit regulärer Formatverwendung befolgen müssen. Wir werden uns auch mit der Verwendung von Variablen zum Speichern und Abrufen von Informationen bei der Ausführung von PHP-Code befassen und schließlich über die einfachste Möglichkeit sprechen, Text im Browserfenster des Benutzers anzuzeigen.
Die Lockerheit und Flexibilität der PHP-Syntax
Das Erste, was man über PHP erwähnen muss, ist, dass es sich bemüht hat, so locker und flexibel wie möglich zu sein. Je nach der Strenge der einzuhaltenden grammatikalischen Regeln unterscheiden sich Programmiersprachen erheblich. Gehen Sie am besten selektiv vor, da Sie so sicherstellen, dass der Programmcode, den Sie schreiben, genau Ihren Anforderungen entspricht. Wenn Sie ein Programm zur Steuerung eines Kernreaktors schreiben und vergessen haben, eine Variable anzugeben, wäre es viel besser, die Ausführung des Programms zu verweigern, als langsam von der ursprünglichen Entwurfsabsicht abzuweichen. Die grundlegenden Designprinzipien von PHP basieren jedoch auf einer anderen Spezifikationsvorlage, da PHP selbst ein Tool zum Erstellen schneller und einfacher Webseiten ist. Der Schwerpunkt liegt darauf, Designern die korrekte Verwendung zu erleichtern, und nicht darauf, dass es einfach zu verwenden ist . Das Programm führt zusätzliche redundante Arbeit durch, um die Bedeutung des Programmcodes anzugeben. PHP erfordert sehr wenig Programmcode, kann aber die Bedeutung des Programmcodes so weit wie möglich ausdrücken. Das bedeutet, dass bestimmte Syntaxfunktionen anderer Sprachen, wie z. B. Variablendeklarationen und Funktionsprototypen, in PHP nicht benötigt werden.
Trotzdem kann PHP nicht lesen, was Sie denken, es muss dennoch von Ihnen ausgedrückt werden und es gibt einige grammatikalische Regeln, die befolgt werden müssen. Wenn im Browserfenster anstelle der Webseite, die Sie ursprünglich erstellen wollten, ein „Analysefehler“ angezeigt wird, bedeutet dies, dass der von Ihnen geschriebene Programmcode in einem Ausmaß gegen die Regeln verstoßen hat, das PHP nicht tolerieren kann.
HTML ist nicht PHP
Ein weiterer wichtiger Punkt, den Sie beachten sollten, ist, dass diese Syntax nur innerhalb von PHP verwendet werden sollte. Da PHP in HTML eingebettet ist, wird in einer solchen Datei jeder Teil von PHP bzw. HTML interpretiert, was sich anhand der darin enthaltenen PHP-Tags unterscheidet.
Die PHP-Syntax ist nur innerhalb von PHP gültig, daher gehen wir davon aus, dass sich der Inhalt in diesem Kapitel auf den PHP-Modus bezieht, d Marke, um die Marke zu unterscheiden.
PHP hat einen Syntaxstil der C-Sprache
Der dritte wichtige Punkt, den es zu verstehen gilt, ist, dass PHP eine Programmiersprache ist, die dem C-Sprachstil sehr ähnlich ist. Wenn der Leser bereits C kennt, werden Sie PHP schnell erlernen: Wenn das nicht funktioniert, schauen Sie noch einmal im Handbuch nach. Der Rest dieses Kapitels richtet sich an andere Personen, die C noch nicht kennen. Wenn Sie ein C-Programmierer sind, können Sie den Titel dieses Kapitels auch schnell lesen. Anhänge, die von Sprachprogrammierern erstellt wurden und sparen so wertvolle Zeit.
PHP reagiert nicht auf halbe Leerzeichen
Halbe Leerzeichen sind der Teil des Bildschirms, den der Programmierer eingibt, einschließlich Leerzeichen (spacehar), Tabulatorzeichen und der Eingabetaste (das Ende von). das Liniensymbol) usw. PHP reagiert nicht empfindlich auf solche Leerzeichen, aber das bedeutet nicht, dass Leerzeichen und solche Inhalte nicht wichtig sind (tatsächlich sind sie immer noch sehr wichtig, um „Wörter oder Wörter“ in der PHP-Sprache zu trennen), aber in einer Zeile gibt es sie Es spielt keine Rolle, wie viele Leerzeichen es gibt, ein Leerzeichen ist dasselbe wie viele solcher Zeichen.
Zum Beispiel ist die folgende PHP-Syntax, die der Variablen $four die Summe von 2+2 zuweist, äquivalent zu
$four=2+2; //Einzelnes Leerzeichen
$four =2+2; //Leertaste und Tabulatortaste
$four =
+
2;
Es ist sehr praktisch, das Zeilenendsymbol der Eingabetaste als Leerzeichen zu verwenden, da dadurch nicht sichergestellt werden muss, dass die Syntax in einer einzigen Zeile stehen muss, was dies erheblich vereinfacht Programme schreiben.
PHP unterscheidet manchmal zwischen Groß- und Kleinschreibung
Wie bereits erwähnt, ist PHP nicht übermäßig wählerisch, dass es manchmal zwischen Groß- und Kleinschreibung im Englischen unterscheidet Buchstaben). Dies ist insbesondere bei allen Variableneinstellungen zu beachten. Wenn Sie diesen Programmcode in eine HTML-Seite einbetten:
<?php $capital=67; Print(“Variable capital is $capital<BR>”); Print(“Variable CaPiTaL is $ CaPiTaL<BR>”); ?>
Das Ausgabeergebnis ist
Variables Kapital ist 67
Variables Kapital ist
Dies liegt daran, dass die Variablen unterschiedliche Fälle verwenden und daher in zwei Teile geteilt werden verschiedene Variablen. (Überraschenderweise erzeugen Programmcode-Snippets wie dieser unter den Standard-Debugging-Einstellungen keine PHP-Fehler. Weitere Informationen finden Sie im Abschnitt „Nicht spezifizierte Variablen“ weiter unten in diesem Kapitel.)
Andererseits unterscheidet sich PHP von der C-Sprache , da bei den Funktionsnamen die Groß-/Kleinschreibung nicht beachtet wird, ebenso wie bei den grundlegenden Syntaxstrukturen (if, then, else, while usw.).
Die Beschreibungsanweisung endet mit einem Semikolon
Das Folgende ist eine typische Anweisung in PHP, die die Zeichenfolge der Variablen $greeting zuweist:
$greeting = "Willkommen bei PHP!";
Im Rest dieses Abschnitts erfahren Sie, wie Sie eine solche Anweisung aus kleineren Komponenten konstruieren und wie der PHP-Interpreter die Auswertungsoperation der Darstellung durchführt (falls diese bereits sehr klein ist). Wenn ja Wenn Sie mit diesen Aussagen und Ausdrücken vertraut sind, können Sie diesen Inhalt überspringen.
Die minimale Struktur von PHP ist ein unteilbares Token, wie zum Beispiel eine Zahl (3.14159), eine Zeichenfolge (?tow?), eine Variable ($tow), eine Konstante (TRUE) und spezielle Wörter, die es bilden In der PHP-Syntax selbst (if, else usw.) werden sie durch Leerzeichen und andere Sonderzeichen (z. B. Klammern und Klammern) voneinander getrennt.
Das komplexeste Konstrukt in PHP ist ein Ausdruck, bei dem es sich um eine beliebige Kombination von Tags mit [Wert] handelt. Eine einzelne Zahl ist ein Ausdruck und eine einzelne Variable ist ein Ausdruck. Einfache Ausdrücke können zu komplexeren Ausdrücken kombiniert werden, normalerweise durch Hinzufügen von Operatoren zwischen Ausdrücken (z. B. 2+(2+2)) oder durch Aufrufen des Ausdrucks als Eingabefunktion (z. B. pow(2*3,). 3*2)). Ausdrucksnummern, die zwei Eingaben annehmen, werden als Eingaben behandelt. Eine Funktion mit Eingaben setzt die Eingaben also in Klammern nach dem Funktionsnamen und die Eingaben (Parameter genannt) werden durch Kommas getrennt.
Ausdrucksauswertungsoperationen
Immer wenn der PHP-Interpreter auf einen Ausdruck im Programmcode stößt, wird der Ausdruck sofort ausgewertet. Dies bedeutet, dass PHP mit dem Wert des kleinsten Elements des Ausdrucks beginnt und diese durch Operatoren oder Funktionen verbundenen Werte dann weiter kombiniert, bis der gesamte Wert des Ausdrucks generiert ist. Beispielsweise sollte jeder Schritt im Beurteilungsprozess wie folgt aussehen:
$result=2*2+3*3+5;
(=4+3* 3+5 )//Imaginärer Schätzprozess
(=4+9+5)
(=13+5)
(=18)
Das Ergebnis ist die Zahl 18, die in der Variablen $result gespeichert ist.
Priorität, Assoziativität und Reihenfolge der Auswertung
Bei der PHP-Ausdrucksauswertung können zwei Arten von Problemen auftreten: Wenn Unterausdrücke kombiniert oder kombiniert werden, wie ist die Reihenfolge der Auswertung? Beispielsweise ist im gerade gezeigten Bewertungsprozess die Multiplikation stärker assoziativ als die Addition, was sich auf das Endergebnis auswirkt.
Die spezifische Art und Weise, kombinierte Ausdrücke zu verarbeiten, wird als Prioritätsregel bezeichnet. Operatoren mit hoher Priorität erhalten zunächst andere umgebende Ausdrücke für die Operation. Merken Sie sich bei Bedarf diese Regeln, zum Beispiel hat [*] immer eine höhere Priorität als [+] (mehr zu diesen Regeln in den folgenden Kapiteln). Oder verwenden Sie diese Grundregel: Im Zweifelsfall verwenden Sie Klammern, um Ausdrücke miteinander zu verbinden.
Zum Beispiel:
$resultl=2+3*4+5//Das Ergebnis ist 19
$result2=(2+3)*(4+5 )/ /Das Ergebnis ist 45
Operatorprioritätsregeln beseitigen Unklarheiten darüber, wie Ausdrücke kombiniert werden, aber was passiert, wenn Operatoren die gleiche Priorität haben? Betrachten Sie zum Beispiel den folgenden Ausdruck:
$how_much=3.0/4.0/5.0;
Ob dieser Ausdruck gleich 0,15 oder 3,75 ist, hängt davon ab, welcher Divisionsoperator die Zahl zuerst 4,0 verarbeitet. In den Online-Anweisungen gibt es eine umfassende Liste von Assoziativitätsregeln, aber die wichtigste Regel, die man sich merken sollte, ist, dass die Assoziativität normalerweise von links nach rechts erfolgt. Mit anderen Worten, der obige Ausdruck ergibt 0,15, weil der linke Divisionsoperator von Die beiden Divisionsbetreiber haben Vorrang.
Die letzte Frage ist die Reihenfolge der Bewertung, die nicht dasselbe ist wie Assoziativität. Zum Beispiel der folgende arithmetische Ausdruck:
3*4+5*6
Wir wissen, dass die Multiplikation vor der Addition erfolgen sollte, aber das bedeutet nicht, dass wir wissen, dass PHP die Summe ausführt Zuerst Welche Multiplikationsoperation soll ausgeführt werden? Im Allgemeinen muss sich der Benutzer nicht um die Reihenfolge der Auswertung kümmern, da diese in den meisten Fällen keinen Einfluss auf die Ergebnisse hat. Wir können einige seltsame Beispiele erstellen, bei denen das Ergebnis von der Reihenfolge der Auswertung abhängt, normalerweise aufgrund der Angabe von Unterausdrücken in anderen Teilen des Ausdrucks. Zum Beispiel:
$hun=($this=$that+5)+($that+$this+3); //Schlechtes Beispiel
Aber bitte schreiben Sie nicht so, Okay. PHP hat möglicherweise ... Abhängigkeiten davon, und wir werden Ihnen die Ergebnisse nicht mitteilen (die einzige sinnvolle Verwendung, sich auf die Auswertungsreihenfolge von links nach rechts zu verlassen, ist der „Kurzpfad“-Modus boolescher Ausdrücke, den wir Ihnen zeigen werden). Abdeckung in Kapitel 7 erklären).
Ausdrücke und Typen
通常程序设计师会很小心地配合表达式的类型和将它们组合在一起的运算子或函式。常见的表达式是数学的表达式(用数学运算子结合数字)、Boolean表达式(用and或or结合true或false的语句)或字符串连算式(用运算子和函式来建构字符串)。与PHP的其余部分一样,对类型的处理会很宽松。例如,下面有表达式范例,很明显地它将两个运算试很不恰当地混合在一起使用了:
2 + 2 * ?nonsense? + TRUE
这个表达式不会产生错误,而是求值为数字「3」(你可以暂时把这个范例当作猜谜,下一章将解释为什么会出现这样的结果)。
指定表达式
最常见的表达式类型是指(assignment),在表达式中,把一个变数设置为等于某表达式的评算求值结果。表达式的形式是,先有一个变量名(是以「$」开头),后面是一个等号,然后是要评算求值的表达式。例如,
$eight=2 * (2 * 2)
$eight」将按照所我们所希望的方式被指定。
有一件要记住的重要事项是,指定表达式也是一种表达式,因此它们本身是有「值」的!运算工指定的对象无论是变量或值都是相同的。这意谓着可以在更复杂的表达式中间使用表达式。如果对下面的表达式求值:
$ten=($two = 2)+($eight = (2 * 2))
每个变量都将被指定为等于其名称的数值。
总而言之,PHP中的叙述语句(statement)可以是最后带带着分号(;)的任何表达式。如果把表达式看成是词组,则叙述语句则算是「整个句子」了,分号就算是句子结尾处的句号。任何括在PHP标记内有效PHP叙述语句都算是PHP的有效程序代码。
使用表达式和语句的理由
通常只有两个理由需要在PHP中编写表达式:为了取得它的值(value),或者为了取得次作用(side effect)。表达式的值传递给包含它的更复杂表达式;而次作用是除求值结果以外发生的任何事情。最典型的次作用包括指定或更改变量,在使用者屏幕是显示某些内容,或者对程序环境的一些其它持久性改变(诸如与数据库的互动)。
仅管叙述语句是表达式,但它们本身不能包含在更复杂的表达式中,这意味着使用叙述语句的唯一理由就是它的「次作用」!这也意味着可以编者编写一些合法但完全无用的语句,例如下面的第二条语句:
Print(“Hello”);//副加效应为输出显示至屏幕
2 * 3 + 4;//无用,没有效应产生
$value_num= 3 * 4 + 5;//副加效应为指定
Store_in_database(49.5);//副加效应到数据库
大括号的使用
虽然叙述句不能像表达式那样合并,但可以在能够使用语句的位置放入一串语句,把它们括在大括号中即可。
例如,PHP中的if结构有个测试条件(在圆括号中),条件后面是如果判断结果为真则应该执行的语句。如果在判断为真时要执行多条语句,可以使用大括号括住的这一堆叙述语句。下面的二个if程序代码段是相等的(都是判断一个恒真的叙述并印出相同讯息):
if(3==2+1) print(“Good – I haven′t totally lost my mind.<BR>”); if(3 ==2+1) { Print(“Good – I haven′t totally ”); Print(“lost my mind.<BR>”); }
在大括号包围住的中央可放置任何语句,其中包括本身带有大括号区块的if叙述。这表示if语句可包含另一个if叙述,这种巢状嵌套可依需要套入任意层。
注释
注释是程序的一部分,就是我们人类用来解释说明程序而使用,目的是帮助说明解释程序代码。程序执行器对程序代码做的第一件事情就是剔除注释,因此注释对程序的功能没有任何作用。但它对于帮助其它人在阅读程序代码时,更能理解原设计者在编写程序时的想法,因此注释也可算是无价的,即使就是程序设计师自己编写了一段时间之后,再回头看自己的程序也是如此。
PHP算是从几种不同程序设计语言(包括C、Perl和UNIX的shell script)获取灵感。因而PHP支持所有这些语言的注释风格,并且这些风格可在PHP程序代码中自由混合使用。
属于C语言风格的多行注释
多行的注释风格和C中的相同:注释从字符对「/*」开始,以字符对「*/」当作结束。例如:
* This is A comment in PHP */
关于多行注释,要记住的最重要一点是,注释不能巢状嵌套方式编写。不能在一个注释内放另一个注释。如果试图这样做,注释将在第一个「*/」字符对后结束,原本要作为注释的其余部分将被解释为程序代码,可能会导致错误的结果。例如:
/* This comment will /* fail horribly on the Last word of this */sentence */
这是一种很容易造成的无心错误,通常发生在试图「注释」一段已经有注释语言的程序时,是常遇到的,请读者小心。
单行注释:「#」和「//」
除了/*…*/这种多行注释之外,PHP还支持两种在给单行使用的不同注释方式,一种是从C和Java继承来的,另一种是则后Perl和shell script继承来的。Shell script风格的注释以「#」符号开始,而C++风格的注释以双斜线「//」开始。这两种方法都会将加注的该行叙述的剩余部分当成注释对待,如下所示的范例:
# This is a comment ,and # this is the second line of the comment //This is a comment too.Each style comments only //one line so the last word of this sentence will fail horribly.
非常机灵的读者认为单行注释与我们前面所介绍到的空白不敏感性并不相容。这是对的,如果采用单行注释并用Enter行结束符号替换了其中一个空格,结果全是不同的。以更精确的讲法是,PHP在从程序代码中剔除了注释后,程序代码才是对空白不敏感的。
变数
在PHP程序中间储存信息的主要方式是透过使用「变量」,这是取一个名称然后保存发后要使用的任意值的方式。
关于PHP中的变量,以下有几点正是要注意知道(后面会有更详细的讲解):
◆ PHP中的所有变量都要在最前面加上「$」符号标示。
◆ 变数中的值是它最近被指定的值。
◆ 变量用「=」运算子进行指定,变量在左边,要评算求值的表达式在右边。
◆ 变量不需用要在指定之前进行宣告。
◆ 除了目前值的型别之外,变量没有固有的型别。
◆ 指定前就被使用的变量有其默认值。
以上就是PHP学习宝典-第五章的内容,更多相关内容请关注PHP中文网(www.php.cn)!