标题：PHP5范例代码查询辞典
图书信息
书名： PHP 5范例代码查询辞典  书号： 978-7-115-17539-7 
原书名： PHP 5 Recipes: A Problem-Solution Approach 
原出版社： Apress 
作者： Lee Babin, Nathan A.Good, Frank M.Kromann, Jon Stephens 
译者： 林琪 荆涛 等 
出版日期： 2008-03-27 
语种： 简体中文 
开本： 16开 
页数： 584
摘要
本书几乎在PHP 5的所有重要方面都提供了有用的参考，不仅包括先前版本中已经非常成熟的原有特性，而且还包括PHP 5中引入的新特性。比如，基本的PHP语法（数据类型、类、对象、接口、数组、数学运算）、日期和时间处理、字符串处理、文件与目录处理、动态图像处理、正则表达式、变量处理、标记处理、MySQLi数据库扩展、Web基础，等等。书中有大量的实例解决方案，包含大量实用的代码片段，你可以直接复制它们，然后粘贴到自己的应用程序中，从而大大节约编码时间。
无论你是刚入门的初学者，还是有多年开发经验的资深开发者，在你的PHP 旅途中，本书都会是一位有用而且受欢迎的伙伴。当你遇到任何PHP方面的难题时，它会告诉你想要的答案。
目录
第1章 PHP数据类型与概念概述 1
1-1 变量 1
1-2 数值 3
1-3 数组 4
1-4 字符串 5
1-5 正则表达式 6
1-6 函数 7
1-7 项目：查找值的数据类型 8
1-8 项目：发现可用的变量、常量、函数、类和接口 10
1-9 获得当前脚本的信息 12
小结 16
下章预览 16
第2章 类、对象和接口概述 17
基本概念 18
2-1 使用构造函数创建实例 19
2-2 使用默认构造函数 21
2-3 设置对象属性 22
2-4 控制对类成员的访问 24
2-5 使用静态成员和self关键字 27
2-6 使用类常量 31
2-7 扩展类 36
2-8 使用抽象类和方法 42
2-9 使用接口 45
2-10 使用类析构函数 46
2-11 使用异常 48
获得类和对象的信息 51
使用类和对象函数 52
2-12 使用class_exists()和interface_exists()检查类和接口是否存在 53
2-13 使用get_class_methods()列出方法和接口 54
2-14 获得变量名 55
2-15 确定对象是否是某个类的实例 56
2-16 列出当前加载的接口和类 58
使用类反射API 60
2-17 获得反射API的转储信息 62
2-18 完成动态类实例化 64
2-19 使用反射API分解Shape类 66
小结 70
下章预览 71
第3章 数学运算 72
3-1 数值数据类型 72
3-2 随机数 81
3-3 对数和指数 85
3-4 三角函数 89
3-5 格式化数值数据 92
3-6 数学库 96
3-7 静态Math类 99
小结 101
下章预览 101
第4章 数组处理 102
4-1 创建数组 103
4-2 访问数组元素 103
4-3 创建多维数组 104
4-4 使用数组键 104
4-5 将数组初始化为值的区间或序列 105
输出数组 106
4-6 数组输出为字符串 106
4-7 为保证向后兼容使用array_values()和array_keys()完成输出 107
4-8 数组输出为树 108
向数组增加新元素 111
4-9 向数组末尾增加元素 111
4-10 将一个数组追加到另一个数组 112
4-11 比较数组 115
4-12 在数组开始处增加元素 116
4-13 在索引数组的任意位置插入新值 116
获得和设置数组的大小 118
4-14 数组元素计数 118
4-15 设置数组大小 120
遍历数组 122
4-16 使用foreach循环处理关联数组 122
4-17 使用for和count()循环处理压缩索引数组 123
4-18 循环处理稀疏数组 124
删除数组元素 125
4-19 删除数组的第一个或最后一个元素 126
4-20 删除一个或多个数组元素 127
4-21 抽取数组中的一部分 130
4-22 使用extract()从数组抽取值 131
4-23 使用list()从数组中抽取值 133
4-24 合并数组 134
4-25 获得数组键和值 136
4-26 处理唯一值 137
4-27 获得和显示数组值的个数 137
查找和处理数组值 138
4-28 确定元素是否在数组中 139
4-29 测试键在数组中是否存在 140
4-30 获得有给定值的数组键 141
4-31 查找数组中的最大值和最小值 142
4-32 查看数组中值的总和与平均值 143
对数组应用函数 144
4-33 使用array_walk()向数组元素应用函数 145
4-34 使用array_map()向数组元素应用函数 147
4-35 使用array_filter()过滤数组 149
数组排序 152
4-36 按值对数组排序 152
4-37 按键对数组排序 154
4-38 使用arsort()逆置数组 155
4-39 使用krsort()逆置数组 155
4-40 使用array_reverse()逆置数组 156
4-41 使用shuffle()、kshuffle()和array_rand()对数组随机重排 156
4-42 使用比较函数对数组排序 157
4-43 多维数组排序 159
4-44 对多个数组排序 162
查看排列和组合 163
4-45 查看数组中元素的所有排列 163
4-46 查看数组中元素的所有组合 166
小结 166
下章预览 167
第5章 日期和时间处理 168
PHP 5中的日期和时间函数概述 169
显示日期和时间 170
5-1 显示人可读的日期和时间 171
5-2 显示任意日期和时间 174
5-3 使用strtotime()将人可读的日期转换为Unix时间戳 175
5-4 根据星期几查找相应日期 177
5-5 获得一年中的日期和星期 180
5-6 确定给定的年是否为闰年 181
5-7 获得文件的时间和日期 182
5-8 设置时区和GMT/UTC 184
5-9 用其他语言显示时间和日期 187
5-10 生成本地化GMT/UTC时间和
日期字符串 191
5-11 获得两个日期之差 192
5-12 项目：构造和使用日期类 198
5-13 扩展Date类 215
小结 228
下章预览 228
第6章 字符串处理 229
操作子字符串 230
6-1 测试子字符串 230
6-2 统计子字符串出现的次数 232
6-3 访问子字符串 233
6-4 使用其他子字符串函数 234
6-5 替换子字符串 234
处理字符串 235
6-6 联结和分解字符串 236
6-7 逆置字符串 239
6-8 控制大小写 239
6-9 去除空格 241
6-10 文本换行 242
6-11 检查字符串长度 243
6-12 比较字符串 244
6-13 比较发音 245
项目：创建和使用字符串类 246
6-14 使用页面读取器类 247
小结 251
下章预览 251
第7章 文件与目录处理 252
处理文件 252
7-1 打开文件 252
7-2 读文件 254
7-3 写文件 255
7-4 关闭文件 257
7-5 读写逗号分隔的数据 258
7-6 读固定宽度定界数据 260
7-7 读写文件中的二进制数据 261
7-8 得到文件中的行数 262
7-9 获得文件中的字符数、
单词数或段落数 263
7-10 项目：创建和使用文件类 265
处理目录 268
7-11 列出当前目录中的所有文件 268
7-12 列出某种类型的所有文件 269
7-13 根据日期对文件排序 271
7-14 生成递归的目录列表 273
7-15 使用SPL DirectoryIterator
对象 274
小结 276
下章预览 276
第8章 动态图像处理 277
处理图像类型 277
8-1 处理JPG 277
8-2 处理GIF 279
8-3 处理PNG 281
处理图像库 282
从头创建图像 282
8-4 创建空画布 283
8-5 创建和使用颜色 284
8-6 创建和应用不同的形状和模式 286
8-7 输出图像 287
根据现有图像创建图像 289
8-8 加载现有图像 290
8-9 修改现有图像 291
8-10 保存和输出修改后的图像 293
使用TrueType字体 294
8-11 加载字体 294
8-12 对图像应用TrueType字体 296
8-13 项目：创建和使用动态缩略
图类 298
小结 301
下章预览 301
第9章 使用正则表达式 302
正则表达式语法概述 302
修饰符 302
区间 303
行锚 303
转义 303
OR 303
字符类 304
POSIX与PCRE 304
POSIX 304
PCRE 305
使用正则表达式 306
9-1 使用字符串匹配和模式匹配 306
9-2 查找匹配的第n次出现 308
9-3 使用贪心和非贪心表达式匹配 308
9-4 匹配合法IP地址 309
9-5 验证Pascal Case名称 311
9-6 验证美国货币 312
9-7 格式化电话号码 314
9-8 查找重复词 315
9-9 查找未跟在其他词之后的词 317
9-10 匹配合法的E-mail地址 317
9-11 查找文件中所有匹配的行 319
9-12 查找有奇数个引号的行 320
9-13 捕获HTML或XML标签中的文本 321
9-14 对特殊字符转义 323
9-15 将URL替换为链接 324
9-16 将智能引号替换为直引号 327
9-17 测试密码的复杂性 327
9-18 匹配GUID/UUID 328
9-19 读取有分隔符的记录 329
9-20 创建自己的RegExp类 331
小结 337
下章预览 337
第10章 变量处理 338
10-1 使用变量类型 339
10-2 赋值和比较 341
10-3 类型强制转换 346
10-4 使用常量 351
10-5 定义变量作用域 353
10-6 解析传入函数的值 359
10-7 使用动态变量和函数名 362
10-8 封装复杂数据类型 365
10-9 进程间共享变量 369
10-10 调试 371
小结 374
下章预览 374
第11章 使用函数 375
11-1 访问函数参数 375
11-2 为函数参数设置默认值 376
11-3 按引用传递值 377
11-4 创建参数个数可变的函数 378
11-5 返回多个值 379
11-6 按引用返回值 380
11-7 返回失败 381
11-8 调用变量函数 382
11-9 在函数中访问全局变量 384
11-10 创建动态函数 385
小结 386
下章预览 386
第12章 Web基础 387
使用cookie 387
12-1 设置cookie 387
12-2 读取cookie 389
12-3 删除cookie 390
12-4 编写和使用cookie类 391
使用HTTP首部 392
12-5 重定向到不同位置 393
12-6 发送非HTML的内容类型 394
12-7 要求文件“另存为”下载 395
使用会话 396
12-8 实现会话 396
12-9 在会话中存储简单的数据类型 398
12-10 在会话中存储复杂数据类型 399
12-11 检测浏览器 400
使用查询字符串 402
12-12 使用查询字符串 402
12-13 在查询字符串中传递数字值 403
12-14 在查询字符串中传递字符串值 404
12-15 在查询字符串中传递复杂值 405
认证用户 407
12-16 建立基于HTTP的认证 407
12-17 建立cookie认证 413
使用环境和配置变量 415
12-18 读取环境变量和配置变量 415
12-19 设置环境变量和配置变量 416
小结 417
下章预览 417
第13章 创建和使用表单 418
了解常见的表单问题 418
13-1 GET与POST 419
13-2 超全局变量与全局变量 421
13-3 验证表单输入 422
13-4 处理多页表单 424
13-5 根据预置信息和错误消息重新
显示表单 426
避免表单的多次提交 429
13-6 在服务器端防止多次提交 429
13-7 在客户端防止多次提交 430
13-8 完成文件上传 432
13-9 处理特殊字符 435
13-10 创建有多个选项的表单元素 436
13-11 根据当前时间和日期创建表单元素 437
小结 440
下章预览 440
第14章 标记处理 441
14-1 理解标记概念 441
14-2 手工生成标记 442
14-3 使用DOM生成标记 443
14-4 创建和设置属性 447
14-5 解析XML 450
14-6 用XSL转换XML 455
14-7 使用RSS提要 457
14-8 使用WDDX 464
14-9 使用SOAP 467
小结 473
下章预览 473
第15章 PHP 5中使用MySQL数据库 474
数据库概念基础 474
15-1 连接MySQL数据库 474
15-2 查询数据库 475
15-3 获取和显示结果 478
15-4 修改数据 480
15-5 删除数据 481
15-6 动态构建查询 483
mysqli扩展包与PHP 4 MySQL扩展包的比较 485
15-7 使用mysqli面向对象API 486
15-8 使用异常处理数据库错误 489
15-9 项目：显示链接查找结果 492
15-10 在表单中显示结果 497
项目：在mysql和mysqli之间搭桥 499
15-11 发现使用哪一个扩展包 499
15-12 编写包装器类搭桥 501
15-13 项目：MySQL与XML间的转换 505
小结 516
下章预览 516
第16章 与Internet服务通信 517
16-1 发送Internet邮件 517
16-2 项目：利用邮件类发送E-mail 518
16-3 用IMAP或POP3读邮件 521
16-4 使用FTP获取和放置文件 532
16-5 完成DNS查找 539
16-6 检查主机是否活动 541
16-7 获得域名的有关信息 545
小结 546
索引 547