本书全面介绍了PHP程序设计语言的基础知识。全书共有13章,所有内容符合1+X证书的要求,采用集成化服务器软件XAMPP作为服务器,使用的代码编辑器为HBuilder,使用的浏览器为Chrome。本书内容主要包括PHP入门与环境搭建、PHP开发基础、运算符和表达式、流程控制语句、函数、数组与数据结构、PHP与Web的页面交互、字符串处理、MySQL数据库、PHP操作MySQL数据库、PHP会话控制、面向对象编程、正则表达式。全书知识点与实例紧密结合,有助于提高读者理解PHP知识的能力和应用PHP的技术。此外,书中部分实例还体现了课程素养的要求。本书的所有程序案例都经过作者实例检测成功。本书适合作为高等职业院校计算机应用技术专业、软件工程专业的专业教材,也可作为网页后端开发设计人员的参考用书。
孙玉强,男,1956年10 月生,江西余江人,教授,曾就职河南师大和常州大学,现于郑州电力职业技术学院工作。
目 录
第1章 PHP入门与环境搭建 1
1.1 PHP概述 1
1.1.1 什么是PHP 1
1.1.2 PHP的发展 1
1.1.3 PHP的优势 2
1.1.4 PHP的用途 2
1.2 Web的工作原理 3
1.2.1 情景1:无PHP预处理器和数据库的服务器 3
1.2.2 情景2:带PHP预处理器的Web服务器 4
1.2.3 情景3:浏览器访问服务器端的数据库 5
1.3 PHP开发环境构建 5
1.3.1 PHP开发环境的安装 6
1.3.2 服务器的启动与停止 8
1.3.3 PHP开发环境的关键配置 8
1.4 第一个PHP程序 10
小结 13
上机指导 13
作业 14
第2章 PHP开发基础 15
2.1 PHP基本语法 15
2.1.1 PHP标记符 15
2.1.2 PHP注释 16
2.1.3 PHP语句和语句块 17
2.2 PHP数据类型 18
2.2.1 标量数据类型 18
2.2.2 复合数据类型 22
2.2.3 特殊数据类型 23
2.2.4 检测数据类型 24
2.3 PHP数据的输出 25
2.3.1 四种输出方法 25
2.3.2 输出运算符(<?= ?>) 27
2.4 PHP编码规范 28
2.4.1 什么是编码规范 28
2.4.2 PHP编码规范 28
2.4.3 PHP命名规则 29
小结 30
上机指导 30
作业 31
第3章 运算符和表达式 32
3.1 常量 32
3.1.1 自定义常量 32
3.1.2 预定义常量 34
3.2 变量 35
3.2.1 变量的概念 35
3.2.2 变量的命名和定义 35
3.2.3 变量的赋值方式 36
3.2.4 可变变量 37
3.2.5 预定义变量 38
3.3 运算符 39
3.3.1 算术运算符 40
3.3.2 字符串运算符 41
3.3.3 赋值运算符 41
3.3.4 位运算符 42
3.3.5 递增或递减运算符 43
3.3.6 逻辑运算符 44
3.3.7 比较运算符 45
3.3.8 条件运算符 45
3.3.9 运算符优先级 46
3.4 表达式 47
3.5 数据类型的转换 47
3.5.1 自动转换 47
3.5.2 强制转换 49
小结 51
上机指导 51
作业 52
第4章 流程控制语句 53
4.1 条件判断语句 53
4.1.1 单分支结构if语句 53
4.1.2 双分支结构if-else语句 54
4.1.3 多分支结构if-elseif语句 56
4.1.4 多分支结构switch语句 57
4.2 循环控制语句 59
4.2.1 while循环语句 59
4.2.2 do-while循环语句 60
4.2.3 for循环语句 61
4.2.4 循环结构的应用 62
4.3 特殊的流程控制语句 63
4.3.1 break语句 63
4.3.2 continue语句 64
4.3.3 exit语句 65
小结 66
上机指导 66
作业 67
第5章 函数 68
5.1 函数简介 68
5.1.1 什么是函数 68
5.1.2 函数的分类 68
5.2 自定义函数 69
5.2.1 自定义函数的定义 69
5.2.2 自定义函数的调用 69
5.2.3 自定义函数的参数 70
5.2.4 自定义函数的返回值 72
5.2.5 变量的作用域 73
5.3 PHP文件的引用 75
5.3.1 include语句 75
5.3.2 require语句 75
5.3.3 对比include语句和 require语句 76
5.3.4 include_once语句和require_once语句 76
5.4 数字操作函数 77
5.4.1 极值函数 77
5.4.2 取整函数 78
5.4.3 取余函数 79
5.4.4 随机数函数 80
5.4.5 绝对值函数 81
5.4.6 幂运算函数 81
5.5 时间和日期操作函数 82
5.5.1 设置系统时区的函数 83
5.5.2 获取时间戳的函数 83
5.5.3 将时间戳转换成日期和时间的函数 84
小结 86
上机指导 86
作业 86
第6章 数组与数据结构 87
6.1 数组的分类 87
6.2 数组的定义 88
6.2.1 使用直接赋值的方式声明数组 89
6.2.2 使用array()语句结构新建数组 93
6.2.3 多维数组的声明 93
6.3 数组的遍历 95
6.3.1 使用for循环语句遍历数组 95
6.3.2 使用foreach语句遍历数组 97
小结 99
上机指导 99
作业 100
第7章 PHP与Web的页面交互 101
7.1 解析PHP的执行过程 101
7.2 Web表单 102
7.2.1 表单标签 103
7.2.2 表单元素 103
7.2.3 使用数组提交表单数据 107
7.2.4 表单综合应用 108
7.3 表单数据的提交 110
7.3.1 使用GET方法提交表单数据 111
7.3.2 使用POST方法提交表单数据 111
7.3.3 POST方法与GET方法的区别 112
7.4 应用PHP全局变量获得表单数据 112
7.4.1 $_POST[]全局变量 112
7.4.2 $_GET[]全局变量 113
7.5 文件上传 114
7.5.1 上传文件相关配置 114
7.5.2 $_FILES全局变量 114
7.5.3 实现PHP文件上传 116
7.6 服务器获取数据的其他方法 117
7.6.1 $_REQUEST[]全局变量 117
7.6.2 $_SERVER[]全局变量 117
小结 118
上机指导 119
作业 121
第8章 字符串处理 122
8.1 字符串的定义方法 122
8.1.1 使用单引号或双引号定义字符串 122
8.1.2 使用定界符定义字符串 123
8.2 字符串处理函数 124
8.2.1 转义和还原字符串 124
8.2.2 获取字符串长度 127
8.2.3 截取字符串 128
8.2.4 比较字符串 130
8.2.5 检索字符串 133
8.2.6 替换字符串 134
8.2.7 去掉字符串首尾空白字符和特殊字符 136
8.2.8 格式化字符串 139
8.2.9 分割、合成字符串 140
8.2.10 字符串与HTML转义字符串转换 141
8.2.11 其他常用字符串函数 143
小结 144
上机指导 144
作业 145
第9章 MySQL数据库 146
9.1 MySQL数据库简介 146
9.1.1 什么是MySQL数据库 146
9.1.2 MySQL数据库的特点 146
9.1.3 MySQL 5支持的特性 147
9.2 启动和关闭MySQL服务器 148
9.2.1 启动MySQL服务器 148
9.2.2 连接和断开MySQL服务器 148
9.3 操作MySQL数据库 149
9.3.1 创建数据库 149
9.3.2 选择数据库 151
9.3.3 查看数据库 151
9.3.4 删除数据库 152
9.4 MySQL数据类型 152
9.4.1 数字类型 152
9.4.2 字符串类型 153
9.4.3 日期和时间类型 154
9.5 操作数据表 155
9.5.1 创建数据表 155
9.5.2 查看表结构 156
9.5.3 修改表结构 157
9.5.4 重命名数据表 158
9.5.5 删除数据表 158
9.6 数据表记录的更新操作 159
9.6.1 数据表记录的添加 159
9.6.2 数据表记录的修改 160
9.6.3 数据表记录的删除 160
9.7 数据表记录的查询操作 160
9.8 MySQL中的特殊字符 164
9.9 MySQL 数据库的备份与还原 165
9.9.1 备份数据库 165
9.9.2 还原数据库 166
小结 167
上机指导 167
作业 168
第10章 PHP操作MySQL数据库 169
10.1 PHP操作MySQL数据库的方法 169
10.1.1 连接MySQL服务器 169
10.1.2 选择MySQL数据库 170
10.1.3 执行SQL语句 172
10.1.4 将结果集返回数组中 173
10.1.5 使用面向对象操作MySQL数据库 177
10.1.6 mysqli_result的指针 179
10.1.7 释放内存 180
10.1.8 关闭连接 180
10.2 管理MySQL数据库中的数据 181
10.2.1 添加数据 181
10.2.2 编辑数据 183
10.2.3 删除数据 185
10.2.4 批量删除数据 186
10.3 PDO概述 189
10.3.1 配置PDO 189
10.3.2 访问数据库 190
10.3.3 exec()方法 191
10.3.4 query()方法 191
小结 192
上机指导 192
作业 194
第11章 PHP会话控制 195
11.1 会话机制 195
11.2 Cookie的操作 195
11.2.1 浏览器中的Cookie设置 196
11.2.2 创建Cookie 196
11.2.3 读取Cookie 197
11.2.4 删除Cookie 198
11.2.5 创建Cookie数组 198
11.3 Session的操作 199
11.3.1 启动Session 199
11.3.2 存储Session 200
11.3.3 注册Session 200
11.3.4 使用Session 200
11.3.5 删除Session 202
11.3.6 Session的应用 202
11.4 Session和Cookie的区别 204
小结 205
上机指导 205
作业 208
第12章 面向对象编程 209
12.1 面向对象概述 209
12.2 类与对象 210
12.2.1 类的定义 210
12.2.2 对象的创建 211
12.2.3 类的封装 212
12.2.4 特殊的$this 216
12.3 构造方法和析构方法 217
12.3.1 构造方法 217
12.3.2 析构方法 218
12.4 类常量和静态成员 219
12.4.1 类常量 219
12.4.2 静态成员 221
12.5 面向对象特性—继承 223
12.5.1 extends关键字 223
12.5.2 final关键字 224
12.6 面向对象特性—多态 224
12.7 抽象类 225
12.8 接口 226
12.9 对象的使用 227
12.9.1 引用对象和克隆对象 227
12.9.2 比较对象 228
12.9.3 对象的类型 229
12.10 魔术方法 230
12.10.1 _ _set()方法和_ _get()方法 231
12.10.2 _ _call()方法 231
12.10.3 _ _toString()方法 231
12.10.4 _ _autoload()方法 232
小结 233
上机指导 233
作业 235
第13章 正则表达式 236
13.1 正则表达式概述 236
13.2 正则表达式语法规则 237
13.2.1 定位符(^、$、\b、\B) 237
13.2.2 字符类([]) 238
13.2.3 选择字符(|) 238
13.2.4 连字符(-) 239
13.2.5 反义字符([^]) 239
13.2.6 限定符(?*+{nm}) 239
13.2.7 点字符(.) 240
13.2.8 转义符(\) 240
13.2.9 反斜线(\) 240
13.2.10 括号字符(()) 241
13.3 PCRE兼容正则表达式函数 242
13.3.1 preg_grep()函数 242
13.3.2 preg_match()函数 243
13.3.3 preg_match_all()函数 244
13.3.4 preg_replace()函数 245
13.3.5 preg_split()函数 246
13.4 正则表达式应用案例 247
13.4.1 验证电子邮箱格式 247
13.4.2 验证手机号码格式 249
13.4.3 验证QQ号码格式 250
13.4.4 验证网址URL格式 251
13.4.5 验证身份证号码格式 252
小结 254
上机指导 254
作业 255