Chapitre 5
Syntaxe, variables et sortie
Points clés de ce chapitre
◆ Comprendre les règles de base du code du programme PHP
◆ Store dans les variables Informations
◆ Afficher la sortie dans une page Web
Dans ce chapitre, nous expliquerons la syntaxe de base de PHP, qui est la règle que doivent suivre tous les codes de programme PHP utilisant un format régulier. Nous verrons également comment utiliser des variables pour stocker et récupérer des informations lors de l'exécution de code PHP, et enfin parler de la manière la plus simple d'afficher du texte dans la fenêtre du navigateur de l'utilisateur.
La souplesse et la flexibilité de la syntaxe PHP
La première chose à mentionner à propos de PHP est qu'il s'est efforcé d'être aussi lâche et flexible que possible. Les langages de programmation varient considérablement en fonction de la rigueur des règles grammaticales à suivre. Il est préférable d'être sélectif, car cela permettra de garantir que le code du programme que vous écrivez correspond exactement à ce dont vous avez besoin. Si vous écriviez un programme pour contrôler un réacteur nucléaire et que vous oubliiez de spécifier une variable, il serait bien préférable que le programme refuse de s'exécuter plutôt que de s'écarter lentement de l'intention de conception initiale. Cependant, les principes de conception de base de PHP sont basés sur un autre modèle de spécification, car PHP lui-même est un outil permettant de créer des pages Web simples et rapides. Son objectif est de permettre aux concepteurs de l'utiliser correctement, plutôt que de le rendre facile à utiliser. . Le programme effectue un travail redondant supplémentaire pour spécifier la signification du code du programme. PHP nécessite très peu de code de programme, mais il peut exprimer la signification du code de programme dans la plus grande mesure possible. Cela signifie que certaines fonctionnalités syntaxiques trouvées dans d'autres langages, telles que les déclarations de variables et les prototypes de fonctions, ne sont pas nécessaires en PHP.
Cela dit, PHP ne peut pas lire ce que vous pensez, cela doit quand même être exprimé par vous et il y a quelques règles grammaticales à suivre. Si vous voyez une « erreur d'analyse » dans la fenêtre du navigateur au lieu de la page Web que vous aviez initialement l'intention de produire, cela signifie que le code du programme que vous avez écrit a violé les règles à un degré que PHP ne peut pas tolérer.
HTML n'est pas PHP
Une autre chose importante à retenir est que cette syntaxe ne doit être utilisée qu'en PHP. Parce que PHP est intégré au HTML, dans un tel fichier, chaque partie sera interprétée respectivement par PHP ou HTML, qui se distingue selon les balises PHP qu'il contient.
La syntaxe PHP n'est valide qu'en PHP, nous supposons donc que le contenu de ce chapitre fait référence au mode PHP, c'est-à-dire que la plupart des extraits de code de programme sont supposés être intégrés dans des pages Web HTML, et par des moyens appropriés. marque pour distinguer la marque.
PHP a un style de syntaxe du langage C
Le troisième point important à comprendre est que PHP est un langage de programmation très similaire au style du langage C. Si le lecteur connaît déjà le C, vous apprendrez rapidement PHP : si cela ne fonctionne pas, consultez à nouveau le manuel. Le reste de ce chapitre est destiné aux autres personnes qui ne connaissent pas encore le C. Si vous êtes un programmeur C, vous pouvez lire rapidement le titre de ce chapitre. Vous pouvez également vous référer à ce livre spécifiquement pour le C. Annexes préparées par les programmeurs de langage. , vous faisant ainsi gagner un temps précieux.
PHP n'est pas sensible au demi-espace
Le demi-espace est la partie de l'écran que le programmeur tape, y compris les espaces (spacehar), les caractères de tabulation et la touche Entrée (la fin de le symbole de la ligne)) etc. PHP n'est pas sensible à de tels espaces, mais cela ne veut pas dire que les espaces et ce contenu ne sont pas importants (en fait, ils sont toujours très importants pour séparer les "mots ou mots" dans le langage PHP), mais dans une ligne il y en a peu importe le nombre d'espaces, un caractère d'espace équivaut à plusieurs de ces caractères.
Par exemple, la syntaxe PHP suivante qui attribue la somme de 2 2 à la variable $four est équivalente
$four=2 2; //Espace unique
$ quatre =2 2; //Touches d'espace et de tabulation
$four =
2
2 //Multiligne
Il est très pratique d'utiliser le symbole de fin de ligne de la touche Entrée comme espace, car cela signifie qu'il n'est pas nécessaire de s'assurer que la syntaxe doit être sur une seule ligne, ce qui facilite grandement l'écriture de programmes.
PHP est parfois sensible à la casse
Comme mentionné précédemment, PHP n'est pas trop pointilleux. Les lecteurs peuvent être surpris qu'il soit parfois sensible à la casse (c'est-à-dire qu'il fait la distinction entre les majuscules et les minuscules de l'anglais). lettres). Ceci doit être noté en particulier dans tous les paramètres variables. Si vous intégrez ce code de programme dans une page HTML :
<?php $capital=67; Print(“Variable capital is $capital<BR>”); Print(“Variable CaPiTaL is $ CaPiTaL<BR>”); ?>
Le résultat de sortie est
Le capital variable est 67
Le capital variable est
C'est parce que les variables utilisent des cas différents, elles sont donc divisées en deux différentes variables. (Étonnamment, avec les paramètres de débogage par défaut, les extraits de code de programme comme celui-ci ne génèrent pas d'erreurs PHP. Voir la section « Variables non spécifiées » plus loin dans ce chapitre.)
D'un autre côté, PHP est différent du langage C. en ce sens que ses noms de fonctions ne sont pas sensibles à la casse, tout comme les structures syntaxiques de base (if, then, else, while, etc.).
L'instruction de description se termine par un point-virgule
Ce qui suit est une instruction typique en PHP, qui attribue la chaîne à la variable $greeting :
$greeting = "Bienvenue dans PHP!";
Le reste de cette section présentera comment construire une telle instruction à partir de composants plus petits, et comment l'interpréteur PHP effectue l'opération d'évaluation de la représentation (si elle est déjà très petite). Si vous êtes familier avec ces déclarations et expressions, vous pouvez ignorer ce contenu).
La structure minimale de PHP est un jeton indivisible, tel qu'un nombre (3.14159), une chaîne (?tow?), une variable ($tow), une constante (TRUE) et des mots spéciaux qui constituent la syntaxe de PHP lui-même (if, else, etc.), ils sont séparés les uns des autres par des espaces et d'autres caractères spéciaux (tels que des crochets et des accolades).
La construction la plus complexe en PHP est une expression, qui est n'importe quelle combinaison de balises avec [valeur]. Un seul nombre est une expression et une seule variable est une expression. Les expressions simples peuvent être combinées pour former des expressions plus complexes, généralement en ajoutant des opérateurs entre les expressions (par exemple, 2 (2 2)), ou en utilisant l'expression comme entrée dans un appel de fonction ( Par exemple, pow(2*3,3 *2)). Les numéros d'expression qui prennent deux entrées sont traités comme des entrées, donc une fonction avec des entrées place les entrées entre parenthèses après le nom de la fonction, et les entrées (appelées paramètres) sont séparées par des virgules.
Opérations d'évaluation d'expression
Chaque fois que l'interpréteur PHP rencontre une expression dans le code du programme, l'expression est immédiatement évaluée. Cela signifie que PHP commence par la valeur du plus petit élément de l'expression, puis continue de combiner ces valeurs reliées par des opérateurs ou des fonctions jusqu'à ce que la valeur entière de l'expression soit générée. Par exemple, les étapes du processus de jugement devraient être les suivantes en imagination :
$result=2*2 3*3 5
(=4 3*3 5) //Imaginez le processus d'estimation
(=4 9 5)
(=13 5)
(=18)
Le résultat sera dans $result Le le numéro 18 est stocké dans la variable.
Priorité, associativité et ordre d'évaluation
Il peut y avoir deux types de problèmes dans l'évaluation des expressions PHP : si les sous-expressions sont combinées ou combinées, quel est l'ordre d'évaluation ? Par exemple, dans le processus d'évaluation que nous venons de montrer, la multiplication est plus étroitement associative que l'addition, ce qui a un impact sur le résultat final.
La manière spécifique de combiner des expressions est appelée règle de priorité. Les opérateurs hautement prioritaires obtiendront d'abord d'autres expressions environnantes pour l'opération. Si nécessaire, rappelez-vous ces règles, par exemple [*] a toujours une priorité plus élevée que [ ] (ces règles seront expliquées en détail dans les chapitres suivants). Ou utilisez cette règle cardinale : en cas de doute, utilisez des parenthèses pour joindre les expressions.
Par exemple :
$resultl=2 3*4 5//Le résultat est 19
$result2=(2 3)*(4 5)//Le le résultat est 45
Les règles de priorité des opérateurs éliminent toute ambiguïté sur la manière dont les expressions se combinent, mais que se passe-t-il lorsque les opérateurs ont la même priorité ? Pensez par exemple à l'expression suivante :
$how_much=3.0/4.0/5.0;
Le fait que cette expression soit égale à 0,15 ou à 3,75 dépendra de l'opérateur de division qui traite le nombre en premier 4,0. Il existe une liste exhaustive des règles d'associativité dans les instructions en ligne, mais la règle la plus importante à retenir est que l'associativité est généralement dans l'ordre de gauche à droite. En d'autres termes, l'expression ci-dessus est évaluée à 0,15 car l'opérateur de division de gauche de. les deux opérateurs de division sont prioritaires.
La dernière question est l'ordre d'évaluation, qui n'est pas la même chose que l'associativité. Par exemple, l'expression arithmétique suivante :
3*4 5*6
Nous savons que la multiplication doit avoir lieu avant l'addition, mais cela ne veut pas dire que nous savons que PHP exécutera la somme en premier Quelle opération de multiplication. D’une manière générale, les utilisateurs n’ont pas besoin de se soucier de l’ordre d’évaluation, car dans la plupart des cas, cela n’a aucun impact sur les résultats. Nous pouvons construire des exemples étranges où le résultat dépend de l'ordre d'évaluation, généralement en raison de la spécification de sous-expressions dans d'autres parties de l'expression. Par exemple,
$hun=($this=$that 5) ($that $this 3); //Mauvais exemple
Mais s'il vous plaît, n'écrivez pas comme ça, d'accord. PHP peut avoir... des dépendances, et nous ne vous dirons pas les résultats (la seule utilisation raisonnable de l'ordre d'évaluation de gauche à droite est dans le mode "chemin court" des expressions booléennes, que nous allons (voir le chapitre 7, expliquez).
Expressions et types
通常程序设计师会很小心地配合表达式的类型和将它们组合在一起的运算子或函式。常见的表达式是数学的表达式(用数学运算子结合数字)、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)!