标题：由浅入深学PHP--基础、进阶与必做300题
基本信息
作者： 陈向辉
丛书名：由浅入深学
出版社：电子工业出版社
ISBN：9787121133329
上架时间：2011-7-8
出版日期：2011 年7月 
开本：16开 
页码：567
版次：1-1
内容简介
《由浅入深学php：基础、进阶与必做300题》由浅入深，全面、系统地介绍了php开发技术。作为一本面向入门读者的php书籍，《由浅入深学php：基础、进阶与必做300题》尽量做到了语言的通俗易懂，把php的知识点同实际应用相结合进行讲解，更便于读者阅读领会。对php的各个知识点进行了细致的介绍，同时剖析每个概念，让读者对php语言有全面的认识。为了帮助读者快速掌握php，《由浅入深学php：基础、进阶与必做300题》对每一个知识点都安排了相应的实例代码，让读者通过实例掌握关键知识点。读者只需将代码输入计算机调试，即可轻松掌握相关的知识。本书介绍的都是web应用程序常用的知识点，并结合实例讲解，让读者在实际应用中能够快速上手，同时也方便读者对程序进行进一步扩展。
《由浅入深学php：基础、进阶与必做300题》分4篇共20章，第1篇为php基础入门，由浅入深，逐步介绍了php开发环境的搭建，php的语法基础、php中的流程控制、数据处理以及数据库的应用等。第2篇为php应用模块，主要介绍用php实现的常用功能模块，如注册登录模块、文件上传模块、与ajax相结合的动态更新模块等。第3篇为php扩展内容，主要讲解php正则表达式、php操作xml、php的优化与加密等。第4篇为php案例，主要是综合以上所有知识，通过综合实例讲解在php在实际中的综合应用。
《由浅入深学php：基础、进阶与必做300题》语言通俗，内容精练按照由浅入深的原则全面介绍了php基础开发所需要的几乎全部知识，并结合范例进行了细致的讲解。《由浅入深学php：基础、进阶与必做300题》适合php初学者、web网站开发人员阅读，同时也适合大中专院校的学生以及各类社会培训机构学员作为参考书来阅读。
目录
目  录
第1篇  PHP基础入门
第1章  安装PHP开发环境 1
1.1  初识PHP 1
1.1.1  静态网页与动态网页 1
1.1.2  什么是PHP 2
1.1.3  PHP发展历史 2
1.1.4  其他动态网页技术 3
1.2  常用的PHP环境 4
1.2.1  Apache+PHP 4
1.2.2  IIS+PHP 4
1.3  Apache的安装 5
1.3.1  安装Apache 5
1.3.2  测试Apache 7
1.4  PHP的安装 8
1.4.1  安装PHP 8
1.4.2  配置PHP 9
1.4.3  第一个PHP程序 10
1.5  其他工具的安装 10
1.5.1  MySQL的安装 11
1.5.2  phpmyadmin的安装 14
1.5.3  Editplus的安装 15
1.6  本章小结 16
第2章  PHP的基本用法 17
2.1  PHP的嵌入方法 17
2.1.1  静态页面的结构 17
2.1.2  ASP方法<%%> 18
2.1.3  PHP方法<?  ?> 19
2.1.4  PHP方法<?php ?> 20
2.2  引用文件 20
2.2.1  require引用 20
2.2.2  include引用 22
2.2.3  二者的区别 23
2.3  注释方法 24
2.3.1  多行注释 24
2.3.2  单行注释 25
2.4  PHP代码编写规则 25
2.4.1  缩排规则 25
2.4.2  命名规则 26
2.5  本章小结 27
2.6  习题 27
第3章  常量与变量 30
3.1  PHP中的常量 30
3.1.1  数据类型 30
3.1.2  自定义常量 32
3.1.3  系统常量 34
3.1.4  魔术常量 36
3.2  PHP中的变量 37
3.2.1  自定义变量 37
3.2.2  系统变量 39
3.3  数组变量 42
3.3.1  创建数组 42
3.3.2  获取数组元素 44
3.3.3  为数组添加元素 45
3.3.4  创建并使用多维数组 46
3.4  本章小结 47
3.5  习题 47
第4章  运算符与表达式 53
4.1  运算符 53
4.1.1  数学运算符 53
4.1.2  字符运算符 55
4.1.3  比较运算符 56
4.1.4  赋值运算符 57
4.1.5  逻辑运算符 57
4.1.6  递增/递减运算符 59
4.1.7  三目运算符 59
4.1.8  运算符优先级 61
4.2  表达式 63
4.3  本章小结 64
4.4  习题 64
第5章  流程控制 67
5.1  判断 67
5.1.1  if判断 67
5.1.2  if…else判断 69
5.1.3  if…elseif…else判断 70
5.1.4  switch判断 72
5.2  循环 75
5.2.1  while循环 75
5.2.2  do循环 76
5.2.3  for循环 78
5.2.4  foreach循环 79
5.2.5  break的使用 81
5.2.6  continue的使用 81
5.3  流程控制实例 82
5.3.1  输出星号 83
5.3.2  输出指定内容 85
5.3.3  求斐波那契数列 87
5.4  本章小结 89
5.5  习题 89
第6章  PHP中的函数 97
6.1  函数基础 97
6.1.1  什么是函数 97
6.1.2  函数的返回值 99
6.1.3  函数的参数 101
6.2  系统函数 105
6.2.1  内部系统函数 105
6.2.2  外部系统函数 106
6.3  函数的其他相关事项 107
6.3.1  有条件定义函数的使用 107
6.3.2  在一个函数中定义另一个函数 108
6.3.3  函数的递归使用 110
6.4  本章小结 111
6.5  习题 111
第7章  对象变量 118
7.1  面向对象与面向过程 118
7.1.1  什么是面向过程 118
7.1.2  什么是面向对象 118
7.1.3  面向对象与面向过程的特点 119
7.2  对象变量 120
7.2.1  什么是类 120
7.2.2  创建类 120
7.2.3  为类实例化对象 121
7.2.4  使用对象 122
7.2.5  稍微复杂的例子 123
7.2.6  类的继承 127
7.2.7  方法重载 129
7.2.8  类的引用 131
7.2.9  类的构造方法 133
7.3  使用类与对象 135
7.3.1  检查类是否定义 135
7.3.2  返回类的方法名 136
7.3.3  返回类的属性 138
7.3.4  返回对象的类名 139
7.3.5  检查类与对象的关系 140
7.3.6  检查方法是否存在 142
7.3.7  检查属性是否存在 144
7.4  本章小结 145
7.5  习题 145
第8章  数据的处理 152
8.1  操作数值 152
8.1.1  求绝对值 152
8.1.2  小数取整 153
8.1.3  角度与弧度转化 156
8.1.4  次方与平方根 158
8.1.5  求三角值 159
8.1.6  求最值 161
8.1.7  求随机数 163
8.1.8  进制转换 164
8.1.9  其他数值处理函数 168
8.2  操作字符串 170
8.2.1  字符串输出 170
8.2.2  字符串长度 172
8.2.3  字符串截取 173
8.2.4  字符串替换 174
8.2.5  字符串分割 178
8.2.6  字符串的比较 179
8.2.7  字符串的大小写 181
8.2.8  字符串与ASCII码 182
8.2.9  转换HTML特殊字符 184
8.2.10  字符串查找 187
8.2.11  其他字符串处理函数 187
8.3  操作数组 188
8.3.1  建立数组 189
8.3.2  数组长度 189
8.3.3  检查数组中值出现次数 190
8.3.4  数组排序 191
8.3.5  移动数组指针 199
8.3.6  移除重复的值 201
8.3.7  合并数组 202
8.3.8  检查数组中是否存在某个值 205
8.3.9  其他数组处理函数 206
8.4  操作日期时间 207
8.4.1  使用前的准备 207
8.4.2  格式化日期时间 208
8.4.3  取得日期时间信息 210
8.4.4  返回当前UNIX时间戳记 211
8.4.5  将英文文本的日期时间描述解析为UNIX时间戳 211
8.5  数据处理实例 212
8.5.1  处理数值 212
8.5.2  处理字符串 213
8.5.3  处理数组 214
8.5.4  处理日期时间 215
8.6  本章小结 215
8.7  习题 215
第9章  数据库操作 228
9.1  操作MySQL数据库 228
9.1.1  连接到服务器 228
9.1.2  显示可用数据库 229
9.1.3  创建数据库 230
9.1.4  选择数据库并显示表 231
9.1.5  在库中创建表 232
9.1.6  删除存在的库或表 233
9.2  操作表 233
9.2.1  操作前的准备工作 233
9.2.2  浏览已经存在的记录 235
9.2.3  添加记录 236
9.2.4  修改记录 237
9.2.5  删除记录 238
9.3  高级查询 240
9.3.1  使用WHERE子句 240
9.3.2  使用LIMIT子句 241
9.3.3  使用ORDER BY排序 243
9.3.4  使用模糊查询 245
9.3.5  常用的SQL函数 246
9.4  数据库的备份与导入 249
9.4.1  备份数据库 249
9.4.2  导入数据库 250
9.5  本章小结 251
9.6  习题 251
第2篇  PHP应用模块
第10章  表单交互——用户登录模块 256
10.1  使用表单进行交互 256
10.1.1  表单的使用 256
10.1.2  POST与GET 259
10.1.3  获取提交内容 259
10.1.4  后台处理 262
10.2  用户注册模块 262
10.2.1  构建注册表单 263
10.2.2  后台处理 266
10.2.3  注意事项 268
10.3  用户登录模块 269
10.3.1  登录界面 269
10.3.2  后台处理 270
10.4  本章小结 272
10.5  习题 272
第11章  URL交互——网站宣传模块 279
11.1  使用URL进行交互 279
11.1.1  构建URL 279
11.1.2  获取提交内容 280
11.1.3  后台处理 281
11.2  模拟文件下载次数 282
11.2.1  建表 282
11.2.2  文件下载前台 283
11.2.3  文件下载后台 285
11.3  本章小结 286
11.4  习题 286
第12章  目录与文件操作——文件上传模块 288
12.1  目录操作 288
12.1.1  创建目录 288
12.1.2  删除目录 289
12.1.3  打开目录 289
12.1.4  浏览目录内容 290
12.1.5  倒回目录 291
12.1.6  关闭打开目录 292
12.1.7  判断文件是否为目录 292
12.1.8  返回分区占用磁盘空间 293
12.1.9  返回目录磁盘可用空间 294
12.2  文件操作 294
12.2.1  判断文件是否存在 294
12.2.2  打开文件 295
12.2.3  关闭打开文件 296
12.2.4  按字符读取文件 297
12.2.5  按行读取文件 298
12.2.6  读取文件所有内容 299
12.2.7  将字符串写入文件 301
12.2.8  将指定内容写入文件 303
12.2.9  倒回文件指针 304
12.2.10  获取文件的大小 305
12.2.11  获取文件时间相关信息 307
12.2.12  复制文件 308
12.2.13  重命名文件 308
12.2.14  删除文件 309
12.3  文件上传模块 309
12.3.1  文件上传前台 309
12.3.2  文件上传后台 311
12.3.3  显示模块 312
12.3.4  重命名模块 315
12.3.5  删除模块 317
12.3.6  下载模块 318
12.4  本章小结 319
12.5  习题 319
第13章  使用Cookie——计数器模块 327
13.1  Cookie操作 327
13.1.1  什么是Cookie 327
13.1.2  创建Cookie 328
13.1.3  读取Cookie 329
13.1.4  删除Cookie 330
13.2  Session操作 332
13.2.1  什么是Session 332
13.2.2  使用Session 332
13.2.3  Session的生存期 335
13.2.4  删除Session 336
13.3  计数器模块 338
13.3.1  计数器基本原理 338
13.3.2  基于Cookie的计数器 339
13.3.3  基于文本的计数器 340
13.3.4  防刷新计数器 341
13.3.5  图形新计数器 342
13.3.6  多用户计数器 343
13.4  本章小结 345
13.5  习题 346
第14章  使用GD类库——验证码模块 351
14.1  什么是GD类库 351
14.1.1  GD类库及使用 351
14.1.2  取得当前GD库信息 352
14.1.3  取得图像的大小 353
14.1.4  取得图像的宽度与高度 354
14.1.5  取得图像类型后缀 355
14.2  常用的GD类库操作 356
14.2.1  创建图像 356
14.2.2  以指定格式输出图像 358
14.2.3  销毁图像 359
14.2.4  设定绘图颜色 360
14.2.5  画像素 360
14.2.6  画线段 362
14.2.7  画矩形 364
14.2.8  画椭圆 365
14.2.9  画椭圆弧 366
14.2.10  画多边形 367
14.2.11  画字符串 369
14.2.12  画中文字符串 370
14.2.13  复制图像一部分 371
14.3  GD类库实例 372
14.3.1  汉字验证码 372
14.3.2  图片缩略图 374
14.3.3  画饼形图 375
14.3.4  为图像加水印 377
14.4  本章小结 379
14.5  习题 379
第15章  AJAX与PHP——动态更新模块 388
15.1  AJAX简介 388
15.1.1  什么是AJAX 388
15.1.2  AJAX的作用 389
15.1.3  简单的AJAX程序 390
15.2  XMLHttpRequest对象 391
15.2.1  对象简介 391
15.2.2  对象属性 392
15.2.3  对象方法 393
15.2.4  构建应用 395
15.3  发送请求并处理响应 397
15.3.1  使用POST发送请求 397
15.3.2  向服务端发送XML 402
15.3.3  处理服务器响应 405
15.4  综合应用实例 408
15.4.1  提示用户名状态 408
15.4.2  显示用户登录信息 410
15.4.3  动态编辑页面内容 413
15.4.4  动态提示可用内容 415
15.5  本章小结 419
15.6  习题 419
第3篇  PHP扩展
第16章  使用正则表达式 432
16.1  什么是正则表达式 432
16.1.1  正则表达式入门 432
16.1.2  简单的例子 433
16.2  元字符 434
16.2.1 “^”、“$”的使用 434
16.2.2 “*”、“+”、“?”的使用 437
16.2.3 “{”、“}”的使用 440
16.2.4 “(”、“)”的使用 441
16.2.5 “|”的使用 442
16.2.6 “.”的使用 443
16.2.7 “[”、“]”的使用 444
16.2.8 “^”在中括号内的使用 445
16.2.9  字符转义 446
16.3  PERL兼容正则表达式函数 447
16.3.1  PERL兼容正则模式修正符 447
16.3.2  正则表达式匹配 448
16.3.3  正则表达式全局匹配 449
16.3.4  对数组进行正则匹配 450
16.3.5  用正则分割字符串 451
16.3.6  执行正则搜索与替换 452
16.3.7  转义正则表达式字符 453
16.4  正则表达式使用实例 454
16.4.1  校验是否全由数字组成 454
16.4.2  校验用户名 455
16.4.3  校验手机号 455
16.4.4  校验电子邮箱 456
16.4.5  UBB替换 456
16.5  本章小结 457
16.6  习题 457
第17章  操作XML 464
17.1  什么是XML 464
17.1.1  XML简介 464
17.1.2  如何在PHP中使用XML 465
17.2  在PHP中使用XML 466
17.2.1  解析XML文件内容 466
17.2.2  向XML中添加记录 469
17.2.3  修改已有XML记录 471
17.2.4  删除指定XML记录 473
17.3  基于XML的图书管理系统 475
17.3.1  规定XML文件格式 475
17.3.2  添加记录 476
17.3.3  显示记录 479
17.3.4  编辑指定记录 482
17.3.5  批量删除记录 486
17.4  本章小结 488
17.5  习题 488
第18章  使用Zend软件 495
18.1  Zend Optimizer软件 495
18.1.1  关于Zend Optimizer 495
18.1.2  软件安装 496
18.2  Zend Guard软件 500
18.2.1  关于Zend Guard 500
18.2.2  软件安装 500
18.2.3  加密代码 503
18.3  本章小结 504
第4篇  PHP案例
第19章  智能考试系统 505
19.1  关于智能考试系统 505
19.1.1  设计算法 505
19.1.2  二叉树及改良 506
19.1.3  表的设计 507
19.2  代码实现 508
19.2.1  准备工作 508
19.2.2  添加测试项目 509
19.2.3  添加问题 510
19.2.4  添加问题答案 512
19.2.5  创建显示页面 514
19.3  测试全部内容 516
19.3.1  准备数据 516
19.3.2  添加测试项目 517
19.3.3  添加问题及结果 518
19.3.4  添加答案 519
19.3.5  执行显示页面 520
19.3.6  更多改进 521
19.4  本章小结 522
第20章  在线商城系统 523
20.1  商城系统 523
20.1.1  设计算法 523
20.1.2  表的设计 524
20.2  代码实现 525
20.2.1  配置文件 525
20.2.2  安装模块 526
20.2.3  注册模块 529
20.2.4  登录模块 532
20.2.5  头部模块 534
20.2.6  显示模块 535
20.2.7  购物车模块 539
20.2.8  查看并统计购物车模块 540
20.2.9  显示用户信息模块 543
20.2.10  修改用户密码模块 544
20.2.11  查看用户历史订单模块 547
20.2.12  处理订单模块 548
20.2.13  添加类别模块 550
20.2.14  编辑类别模块 552
20.2.15  添加商品模块 555
20.2.16  编辑商品模块 557
20.2.17  退出登录模块 561
20.3  测试全部内容 561
20.3.1  用户注册与登录 561
20.3.2  查看商品添加购物车 562
20.3.3  查看用户信息、修改密码、历史订单 564
20.3.4  添加与编辑类别 564
20.3.5  添加与编辑商品 565
20.3.6  处理订单 566
20.3.7  退出登录 567
20.4  本章小结 567
前言
前  言
PHP是一种网络应用程序开发语言，提供了稳定的性能、优美的升级性、更快速的开发、更简便的管理、全新的语言及网络服务。自从PHP诞生以来，特别是自PHP 4.0与PHP 5.0以后，PHP被广泛应用于Web应用程序开发的各个方面，而与Linux的完美结合也使之迅速成为动态网页编程领域最炙手可热的一匹黑马。PHP本身内容并不是很多，但其支持扩展的特性及各类扩展库的加入，使之能够满足各类不同的要求。而且PHP支持几乎所有主流数据库的特性也使其尤其成为各类Web开发者的最爱。
在当前的图书市场中，讲解PHP的入门图书不算少，但大都语言不够通俗或者例程较少，这样造成实际操作性差，普通读者，特别是入门读者在阅读此类图书时相当吃力，而且事倍功半。为了解决这一问题，笔者结合自己多年PHP开发经验，编写成了本书。
本书在语言通俗方面做了大量的工作，使得全书通俗易懂，对各个知识点的讲解尽量做到满足不同层次读者的需要。同时书中附带大量具有代表性的例程，这些程序通常只需要做简单修改即可直接使用在不同场合，方便读者学习。本书在介绍相关基础知识之后，还提供了网上最常见的智能考试系统与BBS系统作为实战开发案例。读者在完整学习完本书内容之后应该可以具备PHP项目开发的能力。
本书内容体系与学习梯度
本书内容编写体例
本书特色
1．通俗性：作为一本面向入门读者的PHP书籍，本书尽量做到了语言的通俗易懂，把PHP的知识点同实际应用相结合进行讲解，更便于读者阅读领会。
2．内容全：对PHP的各个知识点进行了细致的介绍，同时剖析每个概念，让读者对PHP语言有全面的认识。
3．实例多：为了帮助读者快速掌握PHP，本书对每一个知识点都安排了相应的实例代码，让读者通过实例掌握关键知识点。读者只需将代码输入计算机调试，即可轻松掌握相关的知识。
4．实用性强：本书介绍的都是Web应用程序常用的知识点，并结合实例讲解，让读者在实际应用中能够快速上手，同时也方便读者对程序进行进一步扩展。
5．作为参考书：本书是一本百科全书式的图书，知识全面，即查即用。可将本书作为ASP    NET应用程序开发的参考书。
6．提供技术支持：读者在阅读本书时若有任何疑问，均可在本书的技术论坛上留言，会有专人负责答疑。另外，编者还专门为本书建立了PHP技术QQ群，读者可以加入该群与其他同行一起讨论分享学习中的心得体会。
本书内容及体系结构
第1篇  PHP基础入门（第1～9章）
本篇主要内容包括：PHP基础入门，由浅入深，逐步介绍了PHP开发环境的搭建，PHP的语法基础、PHP中的流程控制、数据处理以及数据库的应用等。然后说明读者通过每章的学习可以达到什么样的水平。通过本篇的学习，读者可以掌握PHP开发的基础知识，为应用PHP进程开发打下基础。
第2篇  PHP应用模块（第10～15章）
本篇主要内容包括：用PHP实现的常用功能模块如注册登录模块、文件上传模块、与AJAX相结合的动态更新模块等。通过本篇的学习，读者可以快速掌握常用的功能模块的开发与技术要点。
第3篇  PHP扩展（第16～18章）
本篇主要内容包括：PHP正则表达式、PHP操作XML、PHP的优化与加密等。通过本篇的学习，读者可以更多地了解与PHP相关的各类知识，扩充读者的视野，为进一步学习其他更多内容创造条件。
第4篇  PHP案例（第19～20章）
本篇主要内容为PHP实例开发，主要是综合以上所有知识，通过综合实例讲解在PHP在实际中的综合应用。通过本篇的两个经典应用案例的学习，读者可以掌握使用PHP开发小型Web应用程序的流程、详细操作及注意事项。
本书读者对象
PHP初学者；
PHP专业开发人员；
由其他语言转入PHP的开发人员；
PHP网站维护管理员
大中专院校的学生；
社会培训班学员；