目 录
第1章 PHP入门基础 1
1.1 PHP入门概述 2
1.1.1 PHP的运行机制 2
1.1.2 PHP的发展历史 3
1.1.3 PHP的使用优点 4
1.2 PHP 5的新特性 5
1.2.1 面向对象特性 5
1.2.2 其他新的特性 8
1.3 PHP 5的扩展库 9
1.3.1 标准扩展库 9
1.3.2 外部扩展库 10
1.4 PHP与Web服务器 11
1.4.1 常见的Web服务器 11
1.4.2 Apache服务器的安装 12
1.5 PHP 5的安装和配置 13
1.6 PHP开发工具 16
1.6.1 开发工具的优点 16
1.6.2 常用的开发工具 16
1.6.3 安装Zend Studio 18
1.6.4 汉化Zend Studio 20
1.7 实战——创建第一个PHP应用
程序 23
1.8 本章习题 25
第2章 PHP 5开发基础语法 27
2.1 PHP语法入门 28
2.1.1 PHP脚本标记 28
2.1.2 一个简单的PHP 29
2.2 PHP程序注释 30
2.2.1 单行注释 30
2.2.2 多行注释 31
2.2.3 Perl风格单行注释 32
2.2.4 HTML注释 33
2.3 PHP输出函数 34
2.3.1 echo()函数 34
2.3.2 print()函数 36
2.3.3 printf()函数 37
2.3.4 格式控制 38
2.3.5 sprintf()函数 40
2.4 实战——考生信息输出 41
2.5 本章习题 42
第3章 PHP数据处理 45
3.1 数据类型 46
3.1.1 标量数据类型 46
3.1.2 复合数据类型 49
3.1.3 特殊数据类型 51
3.2 数据类型转换 52
3.2.1 强制类型转换 52
3.2.2 自动类型转换 54
3.2.3 数据类型函数 55
3.3 变量 56
3.3.1 声明变量 56
3.3.2 变量赋值 57
3.3.3 可变变量 58
3.3.4 变量作用域 59
3.3.5 超级全局变量 62
3.3.6 变量销毁 63
3.4 常量 63
3.4.1 定义常量 63
3.4.2 引用常量 64
3.4.3 const关键字 65
3.4.4 魔术常量 66
3.5 运算符 67
3.5.1 运算符优先级 67
3.5.2 算术运算符 68
3.5.3 赋值运算符 68
3.5.4 比较运算符 69
3.5.5 三元运算符 70
3.5.6 逻辑运算符 71
3.5.7 位运算符 71
3.5.8 递增与递减运算符 72
3.5.9 其他运算符 73
3.6 实战——打印用户消费小票 74
3.7 本章习题 75
第4章 PHP流程控制语句 79
4.1 PHP语句概述 80
4.1.1 语句分类 80
4.1.2 基本语句 80
4.1.3 语句块 81
4.2 选择语句 81
4.2.1 if语句 81
4.2.2 if…else语句 82
4.2.3 if…else if…else语句 83
4.2.4 switch…case语句 85
4.3 循环语句 87
4.3.1 for语句 87
4.3.2 do…while语句 88
4.3.3 while语句 89
4.3.4 foreach语句 90
4.4 语句嵌套 91
4.4.1 选择语句嵌套 92
4.4.2 循环语句嵌套 92
4.4.3 混合语句嵌套 93
4.5 跳转语句 94
4.5.1 break语句 94
4.5.2 continue语句 95
4.5.3 return语句 96
4.6 实战——输出等腰梯形 96
4.7 本章习题 98
第5章 PHP函数应用 101
5.1 PHP函数概述 102
5.2 变量处理函数 102
5.3 数学函数 103
5.4 日期和时间函数 104
5.4.1 常用的日期和时间函数 104
5.4.2 checkdate()函数 104
5.4.3 getdate()函数 105
5.4.4 date()函数 106
5.4.5 strtotime()函数 108
5.4.6 microtime()函数 108
5.4.7 gmdate()函数 109
5.4.8 time()函数 109
5.5 自定义函数 110
5.5.1 创建函数 110
5.5.2 调用函数 111
5.5.3 参数传递 112
5.5.4 返回值 115
5.5.5 变量、常量与函数 116
5.6 函数应用 118
5.6.1 变量函数 118
5.6.2 嵌套函数 119
5.6.3 递归函数 121
5.7 实战——模拟实现用户系统登录
功能 122
5.8 本章习题 123
第6章 字符串和正则表达式 127
6.1 字符串概述 128
6.1.1 字符串基础 128
6.1.2 字符串定义 129
6.1.3 字符串连接 131
6.2 字符串操作 132
6.2.1 统计字符串 132
6.2.2 空格和特殊符号 135
6.2.3 大小写转换 137
6.2.4 分割字符串 138
6.2.5 截取字符串 140
6.2.6 填充字符串 142
6.2.7 比较字符串 143
6.2.8 定位字符串 145
6.2.9 替换字符串 148
6.2.10 字符串与HTML转换 150
6.2.11 格式化 155
6.3 字符串编码 156
6.3.1 字符集与编码 156
6.3.2 页面编码设置 160
6.3.3 编码转换 162
6.3.4 字符串加密 164
6.4 正则表达式简介 166
6.4.1 正则表达式概述 166
6.4.2 Perl风格的正则表达式 169
6.5 正则表达式的使用方法 171
6.5.1 PHP的正则表达式函数 171
6.5.2 进行正则表达式的匹配 172
6.5.3 进行全局正则表达式的
匹配 173
6.5.4 获取与模式匹配的
数组单元 174
6.5.5 转义正则表达式字符 175
6.5.6 正则表达式搜索和
替换函数 176
6.5.7 正则表达式的搜索和替换 177
6.5.8 用正则表达式分割字符串 178
6.6 常用Web验证 179
6.7 实战——考生信息处理 180
6.8 本章习题 182
第7章 PHP数组应用 185
7.1 数组概述 186
7.1.1 数组的概念 186
7.1.2 数组的分类 186
7.2 基本操作 190
7.2.1 创建数组 190
7.2.2 追加数组 193
7.2.3 修改数组 195
7.2.4 删除数组 195
7.3 数组遍历 199
7.3.1 for语句遍历数组 199
7.3.2 foreach语句遍历数组 199
7.3.3 list()和each()遍历数组 200
7.4 数组排序 201
7.4.1 sort排序 201
7.4.2 逆向排序 203
7.4.3 随机排序 203
7.4.4 反向排序 204
7.4.5 自定义排序 205
7.5 其他操作 206
7.5.1 随机获取元素 206
7.5.2 联合数组 207
7.5.3 合并数组 208
7.5.4 拆分数组 210
7.5.5 替换数组 211
7.5.6 判断数组的类型 212
7.5.7 查找键名是否存在 213
7.5.8 查找值是否存在 214
7.5.9 去除重复元素值 215
7.5.10 数组键名和值调换 216
7.6 实战——求N*M二维矩阵的
最大子矩阵 217
7.7 本章习题 220
第8章 面向对象编程 223
8.1 面向对象编程 224
8.1.1 理解面向对象编程 224
8.1.2 面向对象编程的特性 224
8.2 类和对象概述 225
8.2.1 了解类和对象 225
8.2.2 类的定义 226
8.2.3 类的使用 227
8.2.4 构造函数 227
8.2.5 析构函数 228
8.3 类的成员 229
8.3.1 常量 229
8.3.2 字段 230
8.3.3 属性 231
8.3.4 方法 234
8.3.5 静态成员 235
8.4 抽象类的使用 236
8.5 final的使用 239
8.6 实现类的特性 239
8.6.1 封装性 239
8.6.2 继承性 241
8.6.3 多态性 242
8.7 内置对象函数 244
8.8 接口 244
8.8.1 接口概述 244
8.8.2 定义接口 245
8.8.3 实现接口 246
8.9 实战——根据用户折扣计算商品
价格 248
8.10 本章习题 250
第9章 文件和目录处理 253
9.1 获取文件属性 254
9.1.1 文件类型和大小 254
9.1.2 访问和修改时间 255
9.1.3 其他属性 256
9.2 文件基本操作 258
9.2.1 打开文件 258
9.2.2 关闭文件 259
9.2.3 读取文件 260
9.2.4 写入文件 264
9.2.5 复制文件 267
9.2.6 删除文件 267
9.3 非线性读写文件 268
9.3.1 fseek()函数 268
9.3.2 ftell()函数 269
9.3.3 rewind()函数 269
9.4 文件高级操作 270
9.4.1 文件上传 270
9.4.2 文件下载 275
9.5 获取目录属性 277
9.5.1 解析目录路径 277
9.5.2 获取磁盘空间 279
9.5.3 获取目录大小 280
9.6 目录基本操作 281
9.6.1 打开目录 281
9.6.2 关闭目录 282
9.6.3 读取目录 282
9.6.4 创建目录 283
9.6.5 删除目录 284
9.7 实战——操作目录和文件 285
9.8 本章习题 287
第10章 PHP表单应用 291
10.1 表单概述 292
10.2 表单设计 292
10.2.1 表单构成 292
10.2.2 表单标签 293
10.2.3 文本框 294
10.2.4 多行文本框 295
10.2.5 隐藏域 295
10.2.6 复选框 296
10.2.7 单选按钮 296
10.2.8 下拉列表框 297
10.2.9 文件上传框 298
10.2.10 表单按钮 298
10.3 表单提交 300
10.3.1 表单的提交方式 300
10.3.2 获取GET方式提交的
数据 300
10.3.3 获取POST方式提交的
数据 303
10.4 表单处理 304
10.4.1 表单中的多值 304
10.4.2 遍历表单 304
10.4.3 动态生成表单 306
10.4.4 PHP、Web和JavaScript 309
10.5 身份验证 310
10.5.1 HTTP身份验证 310
10.5.2 PHP身份认证 312
10.6 实战——两种提交方式实现
用户注册 314
10.7 本章习题 319
第11章 PHP会话管理 323
11.1 Session的基本知识 324
11.1.1 Session简介 324
11.1.2 Session配置 325
11.1.3 Session函数 329
11.2 Session的基本操作 331
11.2.1 Session的启动 331
11.2.2 SessionID的获取 331
11.2.3 Session的存取 332
11.2.4 Session的编码 336
11.2.5 Session的解码 337
11.2.6 Session的销毁 337
11.3 实战——用Session实现购物车 339
11.4 Cookie的基本知识 345
11.4.1 Cookie简介 345
11.4.2 Cookie的工作原理 346
11.4.3 Cookie与Session的区别 347
11.5 Cookie的基本操作 347
11.5.1 Cookie的创建 347
11.5.2 Cookie的获取 349
11.5.3 Cookie的有效期 350
11.5.4 Cookie的删除 351
11.6 实战——用Cookie记录用户登录
时间 352
11.7 本章习题 355
第12章 PHP访问MySQL数据库 357
12.1 数据库概述 358
12.1.1 数据库简介 358
12.1.2 数据库常用类 358
12.2 数据库连接 360
12.2.1 创建连接对象 360
12.2.2 设置连接选项 361
12.2.3 测试连接错误 362
12.2.4 关闭连接 363
12.3 数据库数据操作 364
12.3.1 mysqli类与
mysqli_result类 364
12.3.2 fetch_row()方法 366
12.3.3 fetch_assoc() 367
12.3.4 fetch_array() 367
12.3.5 fetch_object() 368
12.3.6 从结果集中获取数据列的
信息 369
12.3.7 一次执行多条SQL命令 370
12.4 数据库高级操作 371
12.4.1 mysqli_stmt类 371
12.4.2 使用预处理语句处理数据 372
12.4.3 数据库事务处理 376
12.4.4 数据分页显示 377
12.5 实战——用户注册登录 380
12.6 本章习题 382
第13章 PHP高级开发 385
13.1 XML概述和生成 386
13.1.1 XML概述 386
13.1.2 XML的基本结构 387
13.1.3 PHP生成XML 389
13.2 PHP解析XML文件 390
13.2.1 PHP解析方法比较 390
13.2.2 SimpleXML解析XML 391
13.2.3 DOM解析XML 394
13.2.4 实战——通过SAX解析
XML文件 398
13.3 Smarty模板概述 401
13.3.1 Smarty概述 401
13.3.2 Smarty的安装和使用 402
13.4 错误和异常处理 405
13.4.1 PHP错误级别 406
13.4.2 配置文件选项 407
13.4.3 内置处理函数 408
13.4.4 异常处理语句 412
13.4.5 自定义异常类 413
13.5 本章习题 415
第14章 企业管理系统 417
14.1 系统概述 418
14.1.1 开发背景 418
14.1.2 系统功能结构 418
14.2 数据库设计 418
14.2.1 表的设计 418
14.2.2 数据操作 421
14.3 用户管理 422
14.3.1 管理员登录 422
14.3.2 添加管理员 424
14.3 留言和新闻设计 427
14.3.1 发表留言 427
14.3.2 查看留言 429
14.3.3 留言回复 431
参考答案 435