內容簡介
本書從初學者角度出發,由淺入深、循序漸進地介紹了PHP和MySQL的一些知識,並提供了大量的PHP程式案例,課後還有習題供讀者練習。本書共分為12章,主要內容包括:PHP概述與運行環境搭建、PHP基本語法、PHP數據處理、PHP流程控制語句、PHP函式、數組、字元串和正則表達式、面向射院對象的程式設計、PHP表單套用、session和cookie、檔案和目錄處理、MySQL資料庫。每章後面都提供了一個綜合案例及習題。本書適合初學者使用。另外,對於大中專院校和培訓班的學生,本書更是一本不可多得的教材。
圖書目錄
目錄
第1章PHP概述與運行環境搭建1
1.1PHP入門1
1.1.1PHP的發展史2
1.1.2PHP的優點3
1.1.3PHP的運行機制4
1.2PHP擴展庫5
1.2.1標準擴展庫5
1.2.2外部擴展庫6
1.3Web伺服器6
1.3.1Apache伺服器6
1.3.2IIS伺服器7
1.4PHP運行環境的搭建7
1.5綜合案例——創建第一個PHP程式10
1.6習題12
第2章PHP基本語法14
2.1PHP語法入門14
2.1.1PHP腳本標記14
2.1.2一個簡單的PHP程式15
2.2PHP注釋和HTML注釋18
2.2.1PHP行注釋18
2.2.2PHP塊注釋19
2.2.3HTML注釋20
2.3PHP的輸出21
2.3.1echo語句21
2.3.2print()函式22
2.3.3printf()函式項判企23
2.3.4var_dump()函體船民犁數26
2.4綜合案例——職工個人信息的輸出27
2.5習題27第3章PHP數據處理30
3.1標牛端射準數據類型30
3.1.1布爾型30
3.1.2整型31
3.1.3浮點型32
3.1.4字元串型32
3.1.5複合數據類型35
3.2數據類型轉換38
3.2.1強制數據類型轉換38
3.2.2自動數據類型轉換41
3.2.3數據類型函式42
3.3變數44
3.3.1變數的聲明44
3.3.2變數的賦值45
3.3.3動態變數46
3.3.4變數的作用域47
3.3.5變數的銷毀49
3.4常量50
3.4.1常量的定義50
3.4.2類的常量52
3.4.3系統常量53
3.5運算符54
3.5.1運算符的優先權54
3.5.2算術運算符55
3.5.3賦值運算符56
3.5.4比較運算符57
3.5.5三元運算符58
3.5.6邏輯運算符58
3.5.7運算符的“短路”59
3.5.8位運算符60
3.5.9遞增和遞減運算符61
3.5.10執行運算符62
3.5.11錯誤控制運算符62
3.5.12PHP表達式63
3.6綜合案例——短路運算和優先權64
3.7習題65
第4章PHP流程控制語句68
4.1分支結構68
4.1.1if語句68
4.1.2if...else語句70
4.1.3if...elseif...else語句71
4.1.4if語句的嵌套72
4.1.5switch...case語句市辣判73
4.2循環結構75
4.2.1for語句76
4.2.2do...while語句77
4.2.3while語句79
4.2.4foreach語句80
4.2.5break語句81
4.2.6continue語句81
4.3分支和循環的嵌套82
4.3.1分支語句嵌套82
4.3.2循環語句嵌套83
4.3.3混合語句嵌套84
4.4綜合案例——驗證哥德巴赫猜想85
4.5習題86
第5章求民乃芝PHP函式90
5.1PHP函式概述90
5.2變數處理函式91
5.3數學函式92
5.3.1三角函式93
5.3.2指數和對數函式94
5.3.3最大函式及最小函式95
5.3.4取整函式96
5.3.5其他函式96
5.4日期和時間函式97
5.4.1checkdate()函式和getdate()函式97
5.4.2date()函式99
5.4.3time()函式101
5.4.4strtotime()函式101
5.5自定義函式102
5.5.1自定義函式的創建102
5.5.2自定義函式的調用103
5.5.3參數傳遞104
5.5.4函式的返回值109
5.6函式套用110
5.6.1變數函式111
5.6.2嵌套函式112
5.6.3遞歸函式113
5.7綜合案例——燥鍵樂漢諾塔問題114
5.8習題115
第6章數組117
6.1數組概述117
6.1.1數組的概念117
6.1.2數組的分類118
6.2數組的基本操作120
6.2.1數組的創建120
6.2.2數組元素的追加122
6.2.3數組元素的刪除124
6.3數組的遍歷125
6.3.1使用for語句遍歷數組126
6.3.2使用foreach語句遍歷數組126
6.3.3使用list()遍歷數組128
6.3.4使用each()函式遍歷數組129
6.4數組排序129
6.4.1sort()、rsort()、ksort()和krsort()函式130
6.4.2使用shuffle()函式進行隨機排序132
6.4.3使用array_reverse()函式進行反向排序133
6.5數組的其他操作134
6.5.1隨機獲取數組元素134
6.5.2聯合數組136
6.5.3合併數組137
6.5.4拆分數組140
6.5.5替換數組140
6.5.6查找鍵名是否存在142
6.5.7查找值是否存在142
6.5.8去掉重複元素值143
6.5.9數組的鍵名和值調換144
6.6綜合案例——考生信息處理145
6.7習題146
第7章字元串和正則表達式149
7.1字元串概述149
7.1.1字元串基礎149
7.1.2字元串連線運算150
7.1.3使用定界符定義字元串150
7.2字元串操作151
7.2.1統計字元串151
7.2.2空格和特殊字元155
7.2.3大小寫轉換157
7.2.4分隔字元串160
7.2.5截取字元串163
7.2.6填充字元串或刪除字元串167
7.2.7比較字元串171
7.2.8定位字元串177
7.2.9替換字元串181
7.2.10字元串與HTML轉換184
7.3字元串編碼191
7.3.1字元集與編碼191
7.3.2頁面編碼設定195
7.3.3編碼轉換197
7.3.4字元串加密200
7.4正則表達式204
7.4.1正則表達式概述205
7.4.2Perl風格正則表達式209
7.5正則表達式的使用方法210
7.5.1正則表達式函式210
7.5.2正則表達式的匹配211
7.5.3正則表達式的全局匹配212
7.5.4獲取與模式匹配的數組單元213
7.5.5轉義正則表達式字元213
7.5.6正則表達式的搜尋和替換函式214
7.5.7正則表達式的搜尋和替換215
7.5.8使用正則表達式分隔字元串216
7.6常用的Web驗證217
7.7綜合案例——考生信息處理219
7.8習題221
第8章面向對象的程式設計223
8.1面向對象的編程223
8.1.1理解面向對象編程223
8.1.2面向對象編程的特性224
8.1.3面向對象編程的原則224
8.2類和對象的概述225
8.2.1了解類和對象225
8.2.2類的定義225
8.2.3創建對象226
8.2.4構造函式226
8.2.5析構函式227
8.3類的成員228
8.3.1常量229
8.3.2欄位229
8.3.3屬性230
8.3.4方法233
8.3.5靜態成員234
8.4抽象類235
8.5final的使用236
8.6實現類的特性238
8.6.1封裝性238
8.6.2繼承性238
8.6.3多態性241
8.7接口242
8.7.1接口概述242
8.7.2定義接口242
8.7.3實現接口243
8.8綜合案例——輸出圖形245
8.9習題247
第9章PHP表單套用250
9.1表單概述250
9.1.1表單構成250
9.1.2表單標記251
9.1.3按鈕252
9.1.4文本框254
9.1.5密碼框254
9.1.6多行文本框255
9.1.7單選框256
9.1.8多選框257
9.1.9下拉列表框258
9.1.10檔案上傳框259
9.1.11信箱輸入框261
9.1.12電話輸入框262
9.2表單提交262
9.2.1表單的提交方式262
9.2.2表單的GET提交方式263
9.2.3表單的POST提交方式264
9.3表單的高級操作264
9.3.1表單元素的遍歷264
9.3.2表單元素的動態生成265
9.4綜合案例——用戶註冊268
9.5習題276
第10章session和cookie278
10.1session的基本知識278
10.1.1session簡介278
10.1.2session配置279
10.1.3session函式280
10.1.4session變數281
10.2session的基本操作282
10.2.1session的啟動282
10.2.2sessionID的獲取282
10.2.3session的存取283
10.2.4session的銷毀284
10.3session舉例286
10.4cookie的基本知識287
10.4.1cookie工作原理288
10.4.2cookie和session的區別288
10.5cookie的基本操作289
10.5.1cookie的創建289
10.5.2cookie的獲取290
10.5.3cookie的刪除290
10.6綜合案例——使用cookie進行用戶登錄291
10.7習題293
第11章檔案和目錄處理295
11.1獲取檔案的屬性295
11.1.1檔案的類型和大小295
11.1.2最後訪問與修改時間297
11.1.3其他屬性298
11.2檔案的基本操作300
11.2.1檔案的打開300
11.2.2檔案的關閉301
11.2.3檔案的讀取302
11.2.4檔案的寫入304
11.2.5檔案的複製307
11.2.6檔案的刪除307
11.3非線性讀寫檔案308
11.3.1fseek()函式308
11.3.2ftell()函式308
11.3.3rewind()函式309
11.4檔案的高級操作310
11.4.1檔案的上傳310
11.4.2檔案的下載314
11.5獲取目錄屬性315
11.5.1解析檔案的路徑315
11.5.2取得磁碟空間317
11.6目錄的基本操作318
11.6.1目錄的打開319
11.6.2目錄的關閉319
11.6.3目錄的讀取320
11.6.4目錄的創建321
11.6.5目錄的刪除322
11.7綜合案例322
11.8習題324
第12章MySQL資料庫326
12.1MySQL資料庫概述326
12.1.1MySQL資料庫的概念326
12.1.2MySQL伺服器的啟動、連線、斷開和停止327
12.1.3資料庫常用類330
12.2資料庫以及數據表的創建331
12.2.1使用命令創建MySQL資料庫332
12.2.2使用phpMyAdmin界面創建MySQL資料庫333
12.2.3使用命令創建MySQL數據表334
12.2.4使用phpMyAdmin界面創建MySQL數據表338
12.2.5使用命令在表中添加記錄339
12.2.6使用phpMyAdmin界面在數據表中添加記錄341
12.3資料庫伺服器的連線342
12.3.1連線對象的創建342
12.3.2設定連線選項343
12.3.3連線錯誤測試344
12.3.4連線的關閉346
12.4資料庫的其他操作346
12.4.1查看資料庫346
12.4.2選擇資料庫348
12.4.3刪除資料庫348
12.5資料庫數據的操作348
12.5.1mysqli類348
12.5.2mysqli_result類349
12.5.3獲取數據記錄的方法350
12.5.4從結果集中獲取數據列信息354
12.6結構化查詢語言358
12.6.1查詢記錄——SELECT語句358
13.6.2插入記錄——INSERT INTO語句362
12.6.3修改記錄——UPDATE語句363
12.6.4刪除記錄——DELETE語句364
12.6.5新建表——CREATE語句364
12.6.6獲得資料庫的全部表——SHOW TABLES365
12.6.7修改表結構——ALTER TABLE366
12.6.8刪除表——DROP TABLE367
12.7數據查詢368
12.7.1欄位查詢368
12.7.2帶IN關鍵字的查詢368
12.7.3帶BETWEEN AND的範圍查詢369
12.7.4帶LIKE的字元匹配查詢369
12.7.5帶IS NULL關鍵字查詢空值370
12.7.6帶AND或OR的多條件查詢371
12.7.7用DISTINCT關鍵字去掉結果中的重複記錄371
12.7.8用ORDER BY關鍵字對查詢結果進行排序372
12.7.9用GROUP BY關鍵字和HAVING關鍵字進行分組查詢372
12.7.10用LIMIT關鍵字的記錄數量限制查詢373
12.7.11聚合函式查詢374
12.7.12連線查詢376
12.7.13子查詢378
12.7.14表記錄的分頁查詢381
12.8綜合案例382
12.9習題391
部分習題參考答案393
參考文獻396
3.4.3系統常量53
3.5運算符54
3.5.1運算符的優先權54
3.5.2算術運算符55
3.5.3賦值運算符56
3.5.4比較運算符57
3.5.5三元運算符58
3.5.6邏輯運算符58
3.5.7運算符的“短路”59
3.5.8位運算符60
3.5.9遞增和遞減運算符61
3.5.10執行運算符62
3.5.11錯誤控制運算符62
3.5.12PHP表達式63
3.6綜合案例——短路運算和優先權64
3.7習題65
第4章PHP流程控制語句68
4.1分支結構68
4.1.1if語句68
4.1.2if...else語句70
4.1.3if...elseif...else語句71
4.1.4if語句的嵌套72
4.1.5switch...case語句73
4.2循環結構75
4.2.1for語句76
4.2.2do...while語句77
4.2.3while語句79
4.2.4foreach語句80
4.2.5break語句81
4.2.6continue語句81
4.3分支和循環的嵌套82
4.3.1分支語句嵌套82
4.3.2循環語句嵌套83
4.3.3混合語句嵌套84
4.4綜合案例——驗證哥德巴赫猜想85
4.5習題86
第5章PHP函式90
5.1PHP函式概述90
5.2變數處理函式91
5.3數學函式92
5.3.1三角函式93
5.3.2指數和對數函式94
5.3.3最大函式及最小函式95
5.3.4取整函式96
5.3.5其他函式96
5.4日期和時間函式97
5.4.1checkdate()函式和getdate()函式97
5.4.2date()函式99
5.4.3time()函式101
5.4.4strtotime()函式101
5.5自定義函式102
5.5.1自定義函式的創建102
5.5.2自定義函式的調用103
5.5.3參數傳遞104
5.5.4函式的返回值109
5.6函式套用110
5.6.1變數函式111
5.6.2嵌套函式112
5.6.3遞歸函式113
5.7綜合案例——漢諾塔問題114
5.8習題115
第6章數組117
6.1數組概述117
6.1.1數組的概念117
6.1.2數組的分類118
6.2數組的基本操作120
6.2.1數組的創建120
6.2.2數組元素的追加122
6.2.3數組元素的刪除124
6.3數組的遍歷125
6.3.1使用for語句遍歷數組126
6.3.2使用foreach語句遍歷數組126
6.3.3使用list()遍歷數組128
6.3.4使用each()函式遍歷數組129
6.4數組排序129
6.4.1sort()、rsort()、ksort()和krsort()函式130
6.4.2使用shuffle()函式進行隨機排序132
6.4.3使用array_reverse()函式進行反向排序133
6.5數組的其他操作134
6.5.1隨機獲取數組元素134
6.5.2聯合數組136
6.5.3合併數組137
6.5.4拆分數組140
6.5.5替換數組140
6.5.6查找鍵名是否存在142
6.5.7查找值是否存在142
6.5.8去掉重複元素值143
6.5.9數組的鍵名和值調換144
6.6綜合案例——考生信息處理145
6.7習題146
第7章字元串和正則表達式149
7.1字元串概述149
7.1.1字元串基礎149
7.1.2字元串連線運算150
7.1.3使用定界符定義字元串150
7.2字元串操作151
7.2.1統計字元串151
7.2.2空格和特殊字元155
7.2.3大小寫轉換157
7.2.4分隔字元串160
7.2.5截取字元串163
7.2.6填充字元串或刪除字元串167
7.2.7比較字元串171
7.2.8定位字元串177
7.2.9替換字元串181
7.2.10字元串與HTML轉換184
7.3字元串編碼191
7.3.1字元集與編碼191
7.3.2頁面編碼設定195
7.3.3編碼轉換197
7.3.4字元串加密200
7.4正則表達式204
7.4.1正則表達式概述205
7.4.2Perl風格正則表達式209
7.5正則表達式的使用方法210
7.5.1正則表達式函式210
7.5.2正則表達式的匹配211
7.5.3正則表達式的全局匹配212
7.5.4獲取與模式匹配的數組單元213
7.5.5轉義正則表達式字元213
7.5.6正則表達式的搜尋和替換函式214
7.5.7正則表達式的搜尋和替換215
7.5.8使用正則表達式分隔字元串216
7.6常用的Web驗證217
7.7綜合案例——考生信息處理219
7.8習題221
第8章面向對象的程式設計223
8.1面向對象的編程223
8.1.1理解面向對象編程223
8.1.2面向對象編程的特性224
8.1.3面向對象編程的原則224
8.2類和對象的概述225
8.2.1了解類和對象225
8.2.2類的定義225
8.2.3創建對象226
8.2.4構造函式226
8.2.5析構函式227
8.3類的成員228
8.3.1常量229
8.3.2欄位229
8.3.3屬性230
8.3.4方法233
8.3.5靜態成員234
8.4抽象類235
8.5final的使用236
8.6實現類的特性238
8.6.1封裝性238
8.6.2繼承性238
8.6.3多態性241
8.7接口242
8.7.1接口概述242
8.7.2定義接口242
8.7.3實現接口243
8.8綜合案例——輸出圖形245
8.9習題247
第9章PHP表單套用250
9.1表單概述250
9.1.1表單構成250
9.1.2表單標記251
9.1.3按鈕252
9.1.4文本框254
9.1.5密碼框254
9.1.6多行文本框255
9.1.7單選框256
9.1.8多選框257
9.1.9下拉列表框258
9.1.10檔案上傳框259
9.1.11信箱輸入框261
9.1.12電話輸入框262
9.2表單提交262
9.2.1表單的提交方式262
9.2.2表單的GET提交方式263
9.2.3表單的POST提交方式264
9.3表單的高級操作264
9.3.1表單元素的遍歷264
9.3.2表單元素的動態生成265
9.4綜合案例——用戶註冊268
9.5習題276
第10章session和cookie278
10.1session的基本知識278
10.1.1session簡介278
10.1.2session配置279
10.1.3session函式280
10.1.4session變數281
10.2session的基本操作282
10.2.1session的啟動282
10.2.2sessionID的獲取282
10.2.3session的存取283
10.2.4session的銷毀284
10.3session舉例286
10.4cookie的基本知識287
10.4.1cookie工作原理288
10.4.2cookie和session的區別288
10.5cookie的基本操作289
10.5.1cookie的創建289
10.5.2cookie的獲取290
10.5.3cookie的刪除290
10.6綜合案例——使用cookie進行用戶登錄291
10.7習題293
第11章檔案和目錄處理295
11.1獲取檔案的屬性295
11.1.1檔案的類型和大小295
11.1.2最後訪問與修改時間297
11.1.3其他屬性298
11.2檔案的基本操作300
11.2.1檔案的打開300
11.2.2檔案的關閉301
11.2.3檔案的讀取302
11.2.4檔案的寫入304
11.2.5檔案的複製307
11.2.6檔案的刪除307
11.3非線性讀寫檔案308
11.3.1fseek()函式308
11.3.2ftell()函式308
11.3.3rewind()函式309
11.4檔案的高級操作310
11.4.1檔案的上傳310
11.4.2檔案的下載314
11.5獲取目錄屬性315
11.5.1解析檔案的路徑315
11.5.2取得磁碟空間317
11.6目錄的基本操作318
11.6.1目錄的打開319
11.6.2目錄的關閉319
11.6.3目錄的讀取320
11.6.4目錄的創建321
11.6.5目錄的刪除322
11.7綜合案例322
11.8習題324
第12章MySQL資料庫326
12.1MySQL資料庫概述326
12.1.1MySQL資料庫的概念326
12.1.2MySQL伺服器的啟動、連線、斷開和停止327
12.1.3資料庫常用類330
12.2資料庫以及數據表的創建331
12.2.1使用命令創建MySQL資料庫332
12.2.2使用phpMyAdmin界面創建MySQL資料庫333
12.2.3使用命令創建MySQL數據表334
12.2.4使用phpMyAdmin界面創建MySQL數據表338
12.2.5使用命令在表中添加記錄339
12.2.6使用phpMyAdmin界面在數據表中添加記錄341
12.3資料庫伺服器的連線342
12.3.1連線對象的創建342
12.3.2設定連線選項343
12.3.3連線錯誤測試344
12.3.4連線的關閉346
12.4資料庫的其他操作346
12.4.1查看資料庫346
12.4.2選擇資料庫348
12.4.3刪除資料庫348
12.5資料庫數據的操作348
12.5.1mysqli類348
12.5.2mysqli_result類349
12.5.3獲取數據記錄的方法350
12.5.4從結果集中獲取數據列信息354
12.6結構化查詢語言358
12.6.1查詢記錄——SELECT語句358
13.6.2插入記錄——INSERT INTO語句362
12.6.3修改記錄——UPDATE語句363
12.6.4刪除記錄——DELETE語句364
12.6.5新建表——CREATE語句364
12.6.6獲得資料庫的全部表——SHOW TABLES365
12.6.7修改表結構——ALTER TABLE366
12.6.8刪除表——DROP TABLE367
12.7數據查詢368
12.7.1欄位查詢368
12.7.2帶IN關鍵字的查詢368
12.7.3帶BETWEEN AND的範圍查詢369
12.7.4帶LIKE的字元匹配查詢369
12.7.5帶IS NULL關鍵字查詢空值370
12.7.6帶AND或OR的多條件查詢371
12.7.7用DISTINCT關鍵字去掉結果中的重複記錄371
12.7.8用ORDER BY關鍵字對查詢結果進行排序372
12.7.9用GROUP BY關鍵字和HAVING關鍵字進行分組查詢372
12.7.10用LIMIT關鍵字的記錄數量限制查詢373
12.7.11聚合函式查詢374
12.7.12連線查詢376
12.7.13子查詢378
12.7.14表記錄的分頁查詢381
12.8綜合案例382
12.9習題391
部分習題參考答案393
參考文獻396