第1章 PHP入门基础 1
1.1PHP入门概述 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.2Apache服务器的安装 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.1PHP语法入门 28
2.1.1 PHP脚本标记 28
2.1.2一个简单的PHP 29
2.2PHP程序注释 30
2.2.1单行注释 30
2.2.2多行注释 31
2.2.3 Perl风格单行注释 32
2.2.4 HTML注释 33
2.3PHP输出函数 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.1PHP函数概述 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实战——求NM二维矩阵的最大子矩阵 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 fiinal的使用 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.1Session的基本知识 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.1Smarty概述 401
13.3.2Smarty的安装和使用 402
13.4错误和异常处理 405
13.4.1PHP错误级别 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