基本语法
PHP 标记
当解析一个文件时,PHP 会寻找起始和结束标记,也就是<?php
和 ?>
,这告诉 PHP 开始和停止解析二者之间的代码。此种解析方式使得 PHP 可以被嵌入到各种不同的文档中去,而任何起始和结束标记之外的部分都会被 PHP 解析器忽略。
如果文件内容是纯 PHP 代码,最好在文件末尾删除 PHP 结束标记。这可以避免在 PHP 结束标记之后万一意外加入了空格或者换行符,会导致 PHP 开始输出这些空白。[Citation not found]
<?php
echo "Hello world";
// ... more code
echo "Last statement";
// 脚本至此结束,并无 PHP 结束标记
从 HTML 中分离
凡是在一对开始和结束标记之外的内容都会被 PHP 解析器忽略,这使得 PHP 文件可以具备混合内容。 可以将 PHP 嵌入到 HTML 文档中去,如下例所示:
<p>这段内容不会被PHP解析,将直接显示在浏览器中。</p>
<?php echo '这段内容由PHP解析处理。'; ?>
<p>这段内容同样不会被PHP解析,将直接显示在浏览器中。</p>
当 PHP 解释器碰到 ?>
结束标记时就简单地将其后内容原样输出,直到碰到下一个开始标记。还可以使用分支语句,实现复杂一点的PHP和HTML分离:
<?php if ($expression == true): ?>
This will show if the expression is true.
<?php else: ?>
Otherwise this will show.
<?php endif; ?>
上例中 PHP 将跳过条件语句未达成的段落,即使该段落位于 PHP 开始和结束标记之外。由于 PHP 解释器会在条件未达成时直接跳过该段条件语句块,因此 PHP 会根据条件来忽略之。
指令分隔符
一段 PHP 代码中的结束标记隐含表示了一个分号;在一个 PHP 代码段中的最后一行可以不用分号结束。如果后面还有新行,则代码段的结束标记包含了行结束。
<?php
echo "This is a test";
echo '最后一行可以不用分号'
?>
注释
PHP 支持 C,C++ 和 Unix Shell 风格(Perl 风格)的注释。例如:
<?php
echo "This is a test"; // 这是一个 c++ 风格的注释
/* 这是多行注释
多行注释 */
echo "This is yet another test";
echo 'One Final Test'; # 这是Shell风格的单行注释
?>
从上面可以看出,PHP支持单行(使用//
和#
)、多行注释(使用/*...*/
),而且单行注释的实现方式不止一种。
对脚本进行注释,是一个非常良好的习惯,注释可谓多多益善。另外,在修改脚本时,保持注释也应该是最新的和准确的。