第3章 PHP的基本语法
3.1 PHP的应用
3.1.1 PHP简介
- 服务器端语言
- 嵌入到HTML中的语言
- 脚本语言
3.1.2 PHP的作用
- 收集表单数据
- 生成动态网页
- 字符串处理
- 动态输出图像
- 处理服务器端文件系统
- 编写数据库支持的网页
- 会话跟踪控制
- 处理XML文件
- 支持利用大量的网络协议
- 服务器端的其他相关操作
3.2 第一个PHP脚本程序
- 使用编辑器创建一个包含源代码的文件
- 将文件上传到Web服务器
- 通过浏览器访问Web服务器运行程序
3.3 PHP语言标记
<?php ?>
<? ?>
<% %>
<?=$variablename ?>
<?script langeuage="php"> </script>
3.4 指令分割符号
- 指令分割符号为
;
- 需要在每个指令后用分号结束
- 结束标记
?>
隐含表示一个分号 - 结束标记包含了行结束
3.5 程序注释
1.单行注释
//
#
2.多行注释
/* */
3.6 程序中空白的处理
3.7 变量
3.7.1 变量的声明
- 不要求在使用变量之前声明变量
- 变量使用美元符号
$
后面跟变量名表示 unset()
释放指定的变量isset()
检测变量是否设置和使用empty()
检查一个变量是否为空
3.7.2 变量的命名
- 变量名严格区分大小写
- 内置结构和关键字以及用户自定义的类名和函数名都不区分大小写
- 变量名由字母或者下划线开头,后面跟任意数量的字母,数字或者下划线
- 变量名的标识符一定不要以数字开头,中间不可使用 空格,不能使用点分开
3.7.3 可变变量
可变变量获取一个普通变量的值作为这个可变变量的变量名,ex:
<?php
$hi = "hello";
$$hi = "world";
echo "$hi$hello"; //输出hello world
echo "$hi${$hi}"; //输出hello world
3.7.4 变量的引用赋值
新的变量简单的引用了原始变量,改动新的变量将影响到原始变量,这种赋值操作更加快速。只有有名字的变量才可以引用赋值。这种引用不会导致
$bar
和$foo
在内存上同体,只是把各自的值相关联起来。
ex:
<?php
$foo = 'Bob';
$bar = &$foo; //将变量$foo引用赋值给变量$bar
$bar = "My name is Tom";
echo $bar; //变量$bar的值被改变,输出"My name is Tom"
echo $foo; //变量$foo的值被改变,输出"My name is Tom"
$foo = "Your name is Bob";
echo $bar; //变量$bar的值被改变,输出"Your name is Bob"
echo $foo; //变量$foo的值被改变,输出"Your name is Bob"
3.8 变量的类型
PHP是弱类型语言,变量的类型由存储的数据决定
1.四种标量类型
- 布尔型
- 整型
- 浮点型
- 字符串
PHP没有给字符串的大小强加实现范围,字符串可以使用单引号,双引号,定界符三种字面上的方法定义
1.单引号
(1)在单引号中引起来的字符串不能再包含单引号,试图包含会有错误发生。
(2)如需要单引号,需要用反斜线转义。反斜线自身也需要反斜线转义
(3)单引号中出现的变量不会被变量的值代替。即PHP不会解析单引号中的变量,而是将变量名原样输出
2.双引号
(1)双引号中的变量名会被变量值代替
(2)转义字符与其它字符合起来表示一个特殊字符,通常是一些非打印字符。
3.定界符
(1)定界符语法,在<<<之后提供一个标识符开始,然后是包含的字符串,最后是同样的标识符结束字符串
(2)结束标识符必须从行的第一列开始,并且后面除了分号不能有其它任何字符
(3)定界符标识符必须遵循PHP标签的命名规则
<?PHP
//以标识符EOT开始和结束定义的一个字符串
$string=<<<EOT
这里是包含着定界符中的字符串
EOT;
echo $string;
2.两种复合类型
- 数组
- 对象
3.两种特殊类型
- 资源
- NULL
4.伪类型
- mixed
- number
- callback
3.9 数据类型之间相互转换
3.9.1 自动类型转换
3.9.2 强制类型转换
3.9.3 类型转换细节
3.10 常量
3.10.1 定义
boolean define(string name,mixed value [,bool case_intensitive]);
3.10.2 常量和变量
- 常量前没有美元符号
- 常量只能用define()函数定义,不能通过赋值语句定义
- 常量可以不理会变量范围的规则而在任何地方定义和访问
- 常量一旦定义就不能被重新定义或者取消定义,指定脚本运行结束自动释放
- 常量的值只能是四种标量之一
3.11 PHP中的运算符
3.11.1 算数运算符
+
-
*
/
%
++
--
3.11.2 字符串运算符
. //连接字符串
3.11.3 赋值运算符
=
+=
-=
*=
/=
%=
.=
3.11.4 比较运算符
>
<
>=
<=
==
=== //两个操作数值相等,并且类型也相同蔡返回true否则返回false
<>或!=
!==
3.11.5 逻辑运算符
and或&&
or或||
not或!
xor
3.11.6 位运算符
&
|
^
~
<<
>>
3.11.7 其它运算符
?:
`` //命令执行符
@ //错误控制运算符,忽略后面表达式产生的错误
=> //数组下标指定符号
-> //对象成员访问符号
instanceof //测试一个给定的对象是否来自指定的类