第1章 PHP入门与环境搭建 1
1.1 PHP概述 1
1.1.1 什么是PHP 1
1.1.2 PHP的版本 1
1.1.3 PHP语言的优势 3
1.1.4 PHP常用工具 3
1.2 PHP程序的工作流程 5
1.2.1 PHP的工作流程 5
1.2.2 PHP服务器 6
1.3 PHP集成运行环境工具的安装与配置 7
1.3.1 WampServer的安装步骤 7
1.3.2 集成运行环境的配置 12
1.4 第一个PHP程序 21
1.4.1 开发第一个PHP网页 21
1.4.2 设置PHP网站 22
1.4.3 运行PHP网站 23
1.5 本章小结 23
1.6 思考与练习 24
第2章 PHP开发基础 25
2.1 PHP基本语法 25
2.1.1 PHP标记符 25
2.1.2 PHP注释 26
2.1.3 PHP语句和语句块 27
2.1.4 PHP编码规范 28
2.1.5 PHP命名规则 29
2.2 常量 30
2.2.1 自定义常量 30
2.2.2 预定义常量 31
2.3 变量 32
2.3.1 变量的概念 32
2.3.2 变量的声明和使用 32
2.3.3 变量的作用域和生存周期 33
2.3.4 变量的生存周期 35
2.3.5 可变变量与变量的引用 36
2.4 数据类型 37
2.4.1 标量数据类型 37
2.4.2 复合数据类型 40
2.4.3 特殊数据类型 41
2.4.4 检测数据类型 42
2.5 数据类型的转换 43
2.5.1 自动类型转换 43
2.5.2 强制类型转换 45
2.6 数据的输出 46
2.6.1 print和echo 46
2.6.2 输出运算符“<?=?>” 47
2.7 本章小结 47
2.8 思考和练习 47
第3章 运算符和表达式 49
3.1 算术运算符 49
3.1.1 常用算术运算符 50
3.1.2 累加、累减运算符 50
3.2 字符串运算符 51
3.3 赋值运算符 52
3.4 比较运算符 53
3.5 逻辑运算符 54
3.6 按位运算符 55
3.7 错误控制运算符 56
3.8 三元运算符 56
3.9 运算符的优先级和结合规则 57
3.10 表达式 57
3.11 小结 58
3.12 思考和练习 58
第4章 流程控制语句 59
4.1 流程控制概述 59
4.2 条件控制语句 59
4.2.1 if语句 60
4.2.2 if...else语句 61
4.2.3 if..elseif...else语句 62
4.2.4 switch语句 64
4.3 循环控制语句 66
4.3.1 while循环语句 67
4.3.2 do-while循环语句 68
4.3.3 for循环语句 69
4.3.4 foreach循环语句 71
4.4 跳转语句 72
4.4.1 break语句 72
4.4.2 continue语句 74
4.4.3 exit语句 75
4.5 本章小结 75
4.6 思考和练习 75
第5章 数组 77
5.1 数组概述 77
5.2 创建数组 78
5.3 访问数组中的元素 78
5.3.1 改变元素内容 79
5.3.2 用print_r()函数输出整个数组 80
5.3.3 用array_slice()函数读取数组中的连续几个元素 82
5.3.4 统计数组中元素的个数 83
5.3.5 逐个访问数组中的元素 84
5.4 用foreach()循环访问数组 87
5.4.1 用foreach循环访问数组中每个元素的值 88
5.4.2 用foreach循环访问数组中元素的键和值 88
5.4.3 用foreach循环修改数组中元素的值 89
5.5 多维数组 90
5.5.1 创建多维数组 90
5.5.2 访问多维数组中的元素 92
5.5.3 多维数组的循环访问 92
5.6 数组的操作 94
5.6.1 数组的排序 94
5.6.2 添加和删除数组元素 100
5.6.3 数组的合并 105
5.6.4 数组与字符串之间的转换 107
5.6.5 把数组转换为变量列表 108
5.7 本章小结 108
5.8 思考和练习 109
第6章 PHP函数 111
6.1 创建和使用简单函数 111
6.2 创建和调用接受参数的函数 120
6.3 设置参数默认值 123
6.4 创建和使用带有返回值的函数 126
6.5 理解变量的作用域 130
6.6 本章小结 133
6.7 思考和练习 134
第7章 面向对象基础知识 135
7.1 面向对象的基本概念 135
7.1.1 类 135
7.1.2 对象 135
7.1.3 面向对象编程的三大特点 135
7.2 PHP与对象 136
7.2.1 类的定义 136
7.2.2 成员方法 137
7.2.3 类的实例化 137
7.2.4 成员变量 138
7.2.5 类常量 139
7.2.6 构造方法和析构方法 140
7.2.7 继承和多态的实现 143
7.2.8 “$this->”和“::”的使用 146
7.2.9 数据隐藏 147
7.2.10 静态变量(方法) 149
7.3 PHP对象的高级应用 151
7.3.1 final关键字 151
7.3.2 抽象类 152
7.3.3 接口的使用 153
7.3.4 克隆对象 155
7.3.5 比较对象 157
7.3.6 检测对象类型 157
7.3.7 魔术方法(___) 158
7.4 面向对象的应用——中文字符串的截取类 163
7.5 本章小结 165
7.6 思考和练习 165
第8章 字符串 167
8.1 字符串简介 167
8.2 引用字符串常量 168
8.3 单引号和双引号的区别 168
8.4 输出字符串 169
8.5 字符串的连接符 170
8.6 字符串操作 171
8.6.1 去除字符串的首尾空格和特殊字符 171
8.6.2 转义、还原字符串数据 174
8.6.3 获取字符串的长度 176
8.6.4 截取字符串 178
8.6.5 比较字符串 180
8.6.6 检索字符串 182
8.6.7 替换字符串 184
8.6.8 格式化字符串 186
8.6.9 分割字符串 187
8.6.10 合成字符串 188
8.7 本章小结 189
8.8 思考和练习 189
第9章 PHP与Web页面交互 191
9.1 PHPWeb编程基础 191
9.2 Web表单 193
9.2.1 创建表单 193
9.2.2 认识表单元素 194
9.3 PHP与Web页面交互的基本方法 195
9.3.1 访问和获取Web表单数据 195
9.3.2 Web表单数据的有效性验证 199
9.3.3 Web表单的安全性验证 202
9.3.4 PHP文件上传处理 204
9.4 PHP全局变量 207
9.4.1 全局变量$SERVER 208
9.4.2 全局变量$GET 210
9.4.3 全局变量$POST 211
9.4.4 全局变量$SESSION 213
9.5 本章小结 217
9.6 思考和练习 217
第10章 会话管理 219
10.1 用cookie保存页面状态 219
10.1.1 cookie的组成 220
10.1.2 在PHP中设置cookie 220
10.1.3 在脚本中访问cookie 221
10.1.4 删除cookie 222
10.2 用PHP会话存储数据 225
10.2.1 创建会话 226
10.2.2 读取和写入会话数据 226
10.2.3 撤销会话 229
10.3 本章小结 233
10.4 思考和练习 234
第11章 综合案例——学生成绩管理系统 235
11.1 需求分析 235
11.1.1 系统描述 235
11.1.2 系统设计目标 235
11.1.3 系统功能设计 236
11.1.4 文件组织 236
11.2 系统功能设计 237
11.2.1 前台成绩查询系统 237
11.2.2 后台数据管理系统 238
11.3 数据库设计 239
11.4 各模块功能描述 242
11.5 本章小结 252
11.6 思考和练习 252
第12章 综合案例——个人博客系统 253
12.1 个人博客系统分析 253
12.1.1 系统描述 253
12.1.2 系统设计目标 254
12.1.3 系统功能设计 254
12.1.4 文件组织 255
12.2 数据库设计 255
12.2.1 数据库结构设计 256
12.2.2 数据库连接程序设计 257
12.3 首页设计 258
12.3.1 首页布局 258
12.3.2 首页实现 259
12.4 用户注册模块设计 263
12.5 博客文章模块设计 268
12.5.1 文章列表 269
12.5.2 发表文章 269
12.5.3 查询文章 274
12.5.4 我的文章 278
12.6 图片管理模块设计 281
12.6.1 显示图片 282
12.6.2 添加图片 283
12.6.3 浏览图片 288
12.7 本章小结 292
12.8 思考和练习 292