2.1 PHP代码基本语法
PHP是一种在服务器端执行的HTML内嵌式的脚本语言,PHP代码可以嵌入到HTML代码中,HTML代码也可嵌入到PHP代码中,例如,程序htmlWithPHP.php如下。
在PHP程序中,所有PHP代码必须位于PHP开始标记和PHP结束标记之间,开始标记用于表示PHP代码的开始,结束标记用于表示PHP代码的结束,这是书写PHP程序代码需要遵守的最基本规则。只有这样,PHP预处理器才能正确识别一个PHP程序中哪些是PHP动态代码,哪些是静态文本,PHP预处理器只会针对PHP动态代码进行分析、处理。
2.1.1 PHP开始标记与结束标记
PHP程序代码共有4种风格的开始标记和结束标记,4种风格的标记作用是等效的。
(1)开始标记“<?php”和结束标记“?>”。这是PHP代码中最为常用的标记风格,在任何情况下都可以使用该标记风格标识PHP代码,程序htmlWithPHP.php使用的就是这种标记。
(2)开始标记“<script language="php">”和结束标记“</script>”。这种标记风格可以在任何情况下使用,不过由于程序书写和阅读上的不便,编程过程中使用这种标记风格的几率较小。例如,程序htmlWithPHP.php代码可以修改为如下代码。
<html>
<head>
<title>
PHP代码和HTML代码混编示例程序
</title>
</head>
<body bgcolor='<script language="php">echo "red"</script>'>
<script language="php">
echo "hello world!";
echo "<br/>";
echo date("Y-m-d H:i:s");
</script>
</body>
</html>
(3)开始标记“<?”和结束标记“?>”。这是第一种标记风格的简写方式,由于这种标记风格给程序的书写以及阅读带来很多方便,编程过程中使用这种标记风格的几率较大。不过使用这种标记风格前,必须将php.ini配置文件中的选项short_open_tag设置为On,否则这种标记风格将不起作用。例如,程序htmlWithPHP.php代码可以修改为如下代码。
<html>
<head>
<title>
PHP代码和HTML代码混编示例程序
</title>
</head>
<body bgcolor='<?echo "red"?>'>
<?
echo "hello world!";
echo "<br/>";
echo date("Y-m-d H:i:s");
?>
</body>
</html>
(4)开始标记“<%”和结束标记“%>”。这是模仿ASP、JSP风格的一种标记,为ASP、JSP编程人员转向PHP编程带来了方便。不过使用这种标记风格前,必须将php.ini配置文件中的选项asp_tags设置为On,否则这种标记风格将不起作用。例如,程序htmlWithPHP.php代码可以修改为如下代码。
<html>
<head>
<title>
PHP代码和HTML代码混编示例程序
</title>
</head>
<body bgcolor='<%echo "red"%>'>
<%
echo "hello world!";
echo "<br/>";
echo date("Y-m-d H:i:s");
%>
</body>
</html>
开始与结束标记中的关键字不区分大小写,如“<?PHP”与“<?php”标记等效,“<script language="php">”与“<SCRIPT LANGUAGE="php">”标记等效。
2.1.2 PHP注释
为了提高代码的可读性,应该养成注释的习惯,这样才能减少程序代码后期维护的时间。PHP注释和PHP代码相同,必须位于PHP开始标记与结束标记之间;不同之处在于PHP注释的内容会被PHP预处理器过滤,不会被PHP预处理器处理。可以这样理解,PHP代码提供给“PHP预处理器”处理,而PHP注释则是提供给“程序员”处理。PHP支持如下3种注释风格。
第1种:/*多行注释风格*/
第2种://单行注释风格
第3种:#单行注释风格
例如,下面的程序annotation.php中使用了3种注释风格。
<?php
/*
这是PHP多行注释
该php文件依次输出hello world! HTML换行符 系统当前时间
*/
echo "hello world!"; //这是PHP单行注释,该语句输出hello world!
echo "<br/>";#这是PHP单行注释,该语句输出hello world!
echo date("Y年m月d日H时i分s秒"); //PHP单行注释,该语句输出系统当前时间
?>
<!--
注意在php开始标签和结束标签之外的代码为HTML代码,
这里演示的是HTML的注释风格
-->
<br/>
PHP注释和HTML中的注释
程序annotation.php中,除了存在PHP代码的注释以外,还存在HTML代码的注释(使用<!--注释内容-->注释风格为HTML代码添加注释)。使用HTML代码的这种方法注释时,注释的内容可以在HTML页面源代码中看到。程序annotation.php的运行结果如图2-1所示,右键单击该页面,可以查看该页面的源文件(见图 2-2)。通过 annotation.php 源程序、运行结果以及源文件的对比可以得知,PHP代码中的注释被PHP预处理器忽略,HTML代码中的注释则原封不动地输出到浏览器,浏览器接收到HTML注释后,忽略注释的内容,但该注释内容在源文件中存在。
2.1.3 PHP语句及语句块
PHP程序一般由若干条PHP语句构成,每条PHP语句完成某项操作。PHP中的每条语句以英文分号“;”结束,只有PHP结束标记之前的PHP语句可以省略结尾分号“;”。书写PHP代码时,一条PHP语句一般占用一行,但是一行写多条PHP语句或者一条PHP语句占多行也是合法的(可能导致代码可读性差,不推荐)。
如果多条PHP语句之间密不可分,可以使用“{”和“}”将这些PHP语句包含起来形成语句块。例如,程序sentence.php如下。
<?php
{
echo "hello world!";
echo "<br/>";
echo date("Y年m月d日H时i分s秒");
}
?>
单独使用语句块时没有任何意义,语句块只有和条件控制语句(if…else)、循环语句(for和while)、函数等一起使用时才有意义。