PHP - 语法



PHP 的语法规则与 C 语言非常相似。PHP 是一种服务器端脚本语言。PHP 代码存储为扩展名为 “.php” 的文本文件。“.php”文件实质上是一个网页,其中有一个或多个 PHP 代码块散布在 HTML 脚本中。但是,它必须在具有 HTTP 协议 URL 的浏览器中打开。换句话说,如果您双击 PHP 文件图标,它将使用文件协议在本地打开。例如,如果您在 Apache 服务器的文档根文件夹中打开 “index.php” 文件,它可能只显示 PHP 代码的文本。但是,如果启动 Apache 服务器并打开 URL http://localhost/index.php,则会显示 Apache 主页。

“.php”文件可能包含 HTML、CSS 和 JavaScript 代码块以及 PHP 代码。因此,PHP 解析器必须区分 PHP 代码和其他元素。在 Web 浏览器中打开“.php”文件时,HTML 引擎会呈现 HTML/CSS/JavaScript 部分,并在遇到 PHP 标记中包含的语句时立即从 HTML 块中转义。PHP 解析器解释器处理此块并将响应返回给浏览器。

PHP Syntax

PHP 定义了两种使用标签从 HTML 中转义 PHP 代码的方法。规范 PHP 标签和短开(SGML 样式)标签。

规范 PHP 标签

最普遍有效的 PHP 标记样式是 -


<?php
	 	One or more PHP statements
?>

如果你使用这种样式,你可以肯定你的标签总是会被正确解释。

Short-open (SGML 样式) 标签

短标签或短开口标签如下所示 -


<?php
		 	One or more PHP statements
?>

正如人们所料,短标签是最短的选择。您必须执行以下两项操作之一才能使 PHP 能够识别标签 -

  • 在构建 PHP 时选择 “--enable-short-tags” 配置选项。
  • 将 php.ini 文件中的 “short_open_tag” 设置设为 on。

 short_open_tag=on

要使用 PHP 解析 XML,必须禁用此选项,因为 XML 标记使用相同的语法。

使用 ASP 样式的标签 -


 <%...%>

和 HTML 脚本标签 -


 <script language = "PHP">...</script>

已停产。

从 HTML 转义

PHP 解析器会忽略一对开始和结束标签之外的所有内容。因此,PHP 文件可以具有混合内容。这允许将 PHP 嵌入到 HTML 文档中 -


<p>This is a HTML statement</p>
<?php echo This is a PHP statement.'; ?>
<p>This is another HTML statement.</p>

下面显示了使用条件进行转义的小高级示例 -


<?php if ($expression == true): ?>
	 	This HTML statement will be rendered.
<?php else: ?>
	 	Otherwise this HTML statement will be rendered.
<?php endif; ?>

PHP 会跳过不满足条件的块,即使它们位于 PHP open/close 标签之外。

对于输出大块文本,退出 PHP 解析模式通常比通过 echo 或 print 发送所有文本更有效。

PHP 的基本语法

PHP 的基本语法与 C 和 C++ 非常相似。

语句是以分号结尾的表达式

PHP 中的语句是后跟分号 (;).PHP 标记包含的任何有效 PHP 语句序列都是有效的 PHP 程序。

这是 PHP 中的一个典型语句,在本例中,它将一串字符分配给一个名为 “$greeting” 的变量 -


 $greeting = "Welcome to PHP!";

文本编辑器中的物理行在 PHP 代码中没有任何意义。一行中可能有多个以分号结尾的语句。另一方面,如果需要,PHP 语句可能会溢出不止一行。

表达式是标记的组合

PHP 的最小构建块是不可分割的标记,例如数字 (3.14159)、字符串 (“two”)、变量 ($two)、常量 (TRUE) 以及构成 PHP 本身语法的特殊单词,例如“if”、“else”、“while”、“for”等。

大括号创建块

尽管语句不能像表达式一样进行组合,但您始终可以将语句序列放在语句可以放到的任何位置,方法是将它们括在一组大括号中。

在这里,以下两个语句都是等效的 -


if (3 == 2 + 1)
	 	print("Good - I haven't totally lost my mind.");
if (3 == 2 + 1) {
	 	print("Good - I haven't totally");
	 	print("lost my mind.");
}

PHP 区分大小写

PHP 是一种区分大小写的语言。各种 PHP 标识符(如变量、函数、类等)的名称区分大小写。因此,变量 “$age” 与 “$Age” 不同。同样,名为 “myfunction()” 的函数与名为 “MyFunction()” 的函数不同。