
第2章 感受PHP精彩——PHP快速上手
◎本章教学微视频:11个 62分钟
学习指引
PHP作为现代热门主流的开发语言,作为初学者,应从哪里学起,如何学习呢?其实无论是“初学者”还是有资历的“高手”,没有扎实的基础作后盾都是不可以的。PHP特点是易学、易用,但并不代表轻易就能熟练掌握的。本章介绍PHP中的一些基础知识。
重点导读
- 掌握PHP基本语法。
- 掌握PHP数据类型。
- 熟悉PHP常量。
- 掌握PHP变量。
- 熟悉PHP运算符。
- 熟悉PHP表达式。
- 了解PHP编码规范。
2.1 PHP基本语法

在PHP中,有两种浏览器输出文本的方式:echo和print。
2.1.1 echo语法
echo用来输出一个或多个字符串。它是一个语言结构,使用的时候可以不加括号,也可以加上括号,如echo或echo()。另外,如果想给echo传递多个参数,就不能使用圆括号,可以使用单引号或者双引号。
【例2-1】(实例文件:ch02\Chap2.1.php)使用echo输出内容。

在IE浏览器中运行结果如图2-1所示。
提示:在PHP中,$符号是变量的标识符,所有的变量都是以$符号开头。

图2-1 echo的使用
2.1.2 print语法
print用来输出字符串。它是一个语言结构,使用的时候可以不加括号,也可以加上括号,如print或print()。print和echo一样都可以输出字符串,在很多情况下两者的功能是一样的,但还是有以下几点区别:
(1)echo可以输出多个字符串,print只能输出一个字符串。
(2)echo输出的速度比print快。
(3)echo没有返回值,print有返回值1。
【例2-2】(实例文件:ch02\Chap2.2.php)使用print输出内容。

在IE浏览器中运行结果如图2-2所示。

图2-2 print的使用
2.1.3 PHP注释
注释是指在程序编写过程中,对程序文件或者代码片段添加的备注说明。注释不会影响到程序的执行,它会被解释器忽略不计。
注释在程序编程中非常重要,通过注释可以提高代码可读性,让其他开发人员能够快速理解编写的程序,也便于以后对程序的维护。
PHP注释格式分为单行注释和多行注释。
(1)单行注释。单行注释使用“//”或“#”进行注释。
(2)多行注释。多行注释是以“/*”开头、“*/”结尾,包含多行注释的内容。
【例2-3】(实例文件:ch02\Chap2.3.php)PHP注释。

在IE浏览器中运行结果如图2-3所示。

图2-3 PHP注释
2.1.4 PHP大小写敏感
在PHP中,关于大小写的问题,对于新手来说有些模糊不清,有些地方区分大小写,有些地方又不区分大小写。
在PHP中,大小写敏感问题的处理比较乱,大家一定要注意。即使某些地方大小写不敏感,但在编程过程中能始终坚持“大小写敏感”是最好不过的。下面介绍一些关于大小写应注意的问题。
1. 大小写敏感
(1)变量名区分大小写,例如下面的代码:

在IE浏览器中运行结果如图2-4所示。
(2)数组索引(键名)区分大小写,例如下面的代码:

在IE浏览器中运行结果如图2-5所示。

图2-4 变量名大小写敏感

图2-5 数组索引(键名)区分大小写
(3)常量名区分大小写,例如下面的代码:
在IE浏览器中运行结果如图2-6所示。
提示:这里使用define()函数创建常量,在后面2.3.1节中具体介绍。

图2-6 常量名区分大小写
2. 大小写不敏感
(1)函数名、方法名、类名不区分大小写,例如下面的代码:

在IE浏览器中运行结果如图2-7所示。
(2)NULL、TRUE、FALSE不区分大小写,例如下面的代码:

在IE浏览器中运行结果如图2-8所示。

图2-7 函数名、方法名、类名不区分大小写

图2-8 NULL、TRUE、FALSE不区分大小写
提示:var_dump()方法是判断一个变量的类型与长度,并输出变量的数值,如果变量有值,输出的是变量的值并返回数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。
(3)强制类型转换不区分大小写,例如下面的代码:

在IE浏览器中运行结果如图2-9所示。
(4)魔术常量不区分大小写,推荐大写,例如下面的代码:

在IE浏览器中运行结果如图2-10所示。

图2-9 强制类型转换不区分大小写

图2-10 魔术常量不区分大小写
提示:魔术常量的值随着它们在代码中使用位置的改变而改变。魔术常量包括__LINE__、__FILE__、__DIR__、__FUNCTION__、__CLASS__、__METHOD__、__NAMESPACE__和__TRAIT__。