本書全面介紹了PHP程序設(shè)計語言的基礎(chǔ)知識。全書共有13章,所有內(nèi)容符合1+X證書的要求,采用集成化服務(wù)器軟件XAMPP作為服務(wù)器,使用的代碼編輯器為HBuilder,使用的瀏覽器為Chrome。本書內(nèi)容主要包括PHP入門與環(huán)境搭建、PHP開發(fā)基礎(chǔ)、運算符和表達(dá)式、流程控制語句、函數(shù)、數(shù)組與數(shù)據(jù)結(jié)構(gòu)、PHP與Web的頁面交互、字符串處理、MySQL數(shù)據(jù)庫、PHP操作MySQL數(shù)據(jù)庫、PHP會話控制、面向?qū)ο缶幊獭⒄齽t表達(dá)式。全書知識點與實例緊密結(jié)合,有助于提高讀者理解PHP知識的能力和應(yīng)用PHP的技術(shù)。此外,書中部分實例還體現(xiàn)了課程素養(yǎng)的要求。本書的所有程序案例都經(jīng)過作者實例檢測成功。本書適合作為高等職業(yè)院校計算機(jī)應(yīng)用技術(shù)專業(yè)、軟件工程專業(yè)的專業(yè)教材,也可作為網(wǎng)頁后端開發(fā)設(shè)計人員的參考用書。
孫玉強,男,1956年10 月生,江西余江人,教授,曾就職河南師大和常州大學(xué),現(xiàn)于鄭州電力職業(yè)技術(shù)學(xué)院工作。
目 錄
第1章 PHP入門與環(huán)境搭建 1
1.1 PHP概述 1
1.1.1 什么是PHP 1
1.1.2 PHP的發(fā)展 1
1.1.3 PHP的優(yōu)勢 2
1.1.4 PHP的用途 2
1.2 Web的工作原理 3
1.2.1 情景1:無PHP預(yù)處理器和數(shù)據(jù)庫的服務(wù)器 3
1.2.2 情景2:帶PHP預(yù)處理器的Web服務(wù)器 4
1.2.3 情景3:瀏覽器訪問服務(wù)器端的數(shù)據(jù)庫 5
1.3 PHP開發(fā)環(huán)境構(gòu)建 5
1.3.1 PHP開發(fā)環(huán)境的安裝 6
1.3.2 服務(wù)器的啟動與停止 8
1.3.3 PHP開發(fā)環(huán)境的關(guān)鍵配置 8
1.4 第一個PHP程序 10
小結(jié) 13
上機(jī)指導(dǎo) 13
作業(yè) 14
第2章 PHP開發(fā)基礎(chǔ) 15
2.1 PHP基本語法 15
2.1.1 PHP標(biāo)記符 15
2.1.2 PHP注釋 16
2.1.3 PHP語句和語句塊 17
2.2 PHP數(shù)據(jù)類型 18
2.2.1 標(biāo)量數(shù)據(jù)類型 18
2.2.2 復(fù)合數(shù)據(jù)類型 22
2.2.3 特殊數(shù)據(jù)類型 23
2.2.4 檢測數(shù)據(jù)類型 24
2.3 PHP數(shù)據(jù)的輸出 25
2.3.1 四種輸出方法 25
2.3.2 輸出運算符(<?= ?>) 27
2.4 PHP編碼規(guī)范 28
2.4.1 什么是編碼規(guī)范 28
2.4.2 PHP編碼規(guī)范 28
2.4.3 PHP命名規(guī)則 29
小結(jié) 30
上機(jī)指導(dǎo) 30
作業(yè) 31
第3章 運算符和表達(dá)式 32
3.1 常量 32
3.1.1 自定義常量 32
3.1.2 預(yù)定義常量 34
3.2 變量 35
3.2.1 變量的概念 35
3.2.2 變量的命名和定義 35
3.2.3 變量的賦值方式 36
3.2.4 可變變量 37
3.2.5 預(yù)定義變量 38
3.3 運算符 39
3.3.1 算術(shù)運算符 40
3.3.2 字符串運算符 41
3.3.3 賦值運算符 41
3.3.4 位運算符 42
3.3.5 遞增或遞減運算符 43
3.3.6 邏輯運算符 44
3.3.7 比較運算符 45
3.3.8 條件運算符 45
3.3.9 運算符優(yōu)先級 46
3.4 表達(dá)式 47
3.5 數(shù)據(jù)類型的轉(zhuǎn)換 47
3.5.1 自動轉(zhuǎn)換 47
3.5.2 強制轉(zhuǎn)換 49
小結(jié) 51
上機(jī)指導(dǎo) 51
作業(yè) 52
第4章 流程控制語句 53
4.1 條件判斷語句 53
4.1.1 單分支結(jié)構(gòu)if語句 53
4.1.2 雙分支結(jié)構(gòu)if-else語句 54
4.1.3 多分支結(jié)構(gòu)if-elseif語句 56
4.1.4 多分支結(jié)構(gòu)switch語句 57
4.2 循環(huán)控制語句 59
4.2.1 while循環(huán)語句 59
4.2.2 do-while循環(huán)語句 60
4.2.3 for循環(huán)語句 61
4.2.4 循環(huán)結(jié)構(gòu)的應(yīng)用 62
4.3 特殊的流程控制語句 63
4.3.1 break語句 63
4.3.2 continue語句 64
4.3.3 exit語句 65
小結(jié) 66
上機(jī)指導(dǎo) 66
作業(yè) 67
第5章 函數(shù) 68
5.1 函數(shù)簡介 68
5.1.1 什么是函數(shù) 68
5.1.2 函數(shù)的分類 68
5.2 自定義函數(shù) 69
5.2.1 自定義函數(shù)的定義 69
5.2.2 自定義函數(shù)的調(diào)用 69
5.2.3 自定義函數(shù)的參數(shù) 70
5.2.4 自定義函數(shù)的返回值 72
5.2.5 變量的作用域 73
5.3 PHP文件的引用 75
5.3.1 include語句 75
5.3.2 require語句 75
5.3.3 對比include語句和 require語句 76
5.3.4 include_once語句和require_once語句 76
5.4 數(shù)字操作函數(shù) 77
5.4.1 極值函數(shù) 77
5.4.2 取整函數(shù) 78
5.4.3 取余函數(shù) 79
5.4.4 隨機(jī)數(shù)函數(shù) 80
5.4.5 絕對值函數(shù) 81
5.4.6 冪運算函數(shù) 81
5.5 時間和日期操作函數(shù) 82
5.5.1 設(shè)置系統(tǒng)時區(qū)的函數(shù) 83
5.5.2 獲取時間戳的函數(shù) 83
5.5.3 將時間戳轉(zhuǎn)換成日期和時間的函數(shù) 84
小結(jié) 86
上機(jī)指導(dǎo) 86
作業(yè) 86
第6章 數(shù)組與數(shù)據(jù)結(jié)構(gòu) 87
6.1 數(shù)組的分類 87
6.2 數(shù)組的定義 88
6.2.1 使用直接賦值的方式聲明數(shù)組 89
6.2.2 使用array()語句結(jié)構(gòu)新建數(shù)組 93
6.2.3 多維數(shù)組的聲明 93
6.3 數(shù)組的遍歷 95
6.3.1 使用for循環(huán)語句遍歷數(shù)組 95
6.3.2 使用foreach語句遍歷數(shù)組 97
小結(jié) 99
上機(jī)指導(dǎo) 99
作業(yè) 100
第7章 PHP與Web的頁面交互 101
7.1 解析PHP的執(zhí)行過程 101
7.2 Web表單 102
7.2.1 表單標(biāo)簽 103
7.2.2 表單元素 103
7.2.3 使用數(shù)組提交表單數(shù)據(jù) 107
7.2.4 表單綜合應(yīng)用 108
7.3 表單數(shù)據(jù)的提交 110
7.3.1 使用GET方法提交表單數(shù)據(jù) 111
7.3.2 使用POST方法提交表單數(shù)據(jù) 111
7.3.3 POST方法與GET方法的區(qū)別 112
7.4 應(yīng)用PHP全局變量獲得表單數(shù)據(jù) 112
7.4.1 $_POST[]全局變量 112
7.4.2 $_GET[]全局變量 113
7.5 文件上傳 114
7.5.1 上傳文件相關(guān)配置 114
7.5.2 $_FILES全局變量 114
7.5.3 實現(xiàn)PHP文件上傳 116
7.6 服務(wù)器獲取數(shù)據(jù)的其他方法 117
7.6.1 $_REQUEST[]全局變量 117
7.6.2 $_SERVER[]全局變量 117
小結(jié) 118
上機(jī)指導(dǎo) 119
作業(yè) 121
第8章 字符串處理 122
8.1 字符串的定義方法 122
8.1.1 使用單引號或雙引號定義字符串 122
8.1.2 使用定界符定義字符串 123
8.2 字符串處理函數(shù) 124
8.2.1 轉(zhuǎn)義和還原字符串 124
8.2.2 獲取字符串長度 127
8.2.3 截取字符串 128
8.2.4 比較字符串 130
8.2.5 檢索字符串 133
8.2.6 替換字符串 134
8.2.7 去掉字符串首尾空白字符和特殊字符 136
8.2.8 格式化字符串 139
8.2.9 分割、合成字符串 140
8.2.10 字符串與HTML轉(zhuǎn)義字符串轉(zhuǎn)換 141
8.2.11 其他常用字符串函數(shù) 143
小結(jié) 144
上機(jī)指導(dǎo) 144
作業(yè) 145
第9章 MySQL數(shù)據(jù)庫 146
9.1 MySQL數(shù)據(jù)庫簡介 146
9.1.1 什么是MySQL數(shù)據(jù)庫 146
9.1.2 MySQL數(shù)據(jù)庫的特點 146
9.1.3 MySQL 5支持的特性 147
9.2 啟動和關(guān)閉MySQL服務(wù)器 148
9.2.1 啟動MySQL服務(wù)器 148
9.2.2 連接和斷開MySQL服務(wù)器 148
9.3 操作MySQL數(shù)據(jù)庫 149
9.3.1 創(chuàng)建數(shù)據(jù)庫 149
9.3.2 選擇數(shù)據(jù)庫 151
9.3.3 查看數(shù)據(jù)庫 151
9.3.4 刪除數(shù)據(jù)庫 152
9.4 MySQL數(shù)據(jù)類型 152
9.4.1 數(shù)字類型 152
9.4.2 字符串類型 153
9.4.3 日期和時間類型 154
9.5 操作數(shù)據(jù)表 155
9.5.1 創(chuàng)建數(shù)據(jù)表 155
9.5.2 查看表結(jié)構(gòu) 156
9.5.3 修改表結(jié)構(gòu) 157
9.5.4 重命名數(shù)據(jù)表 158
9.5.5 刪除數(shù)據(jù)表 158
9.6 數(shù)據(jù)表記錄的更新操作 159
9.6.1 數(shù)據(jù)表記錄的添加 159
9.6.2 數(shù)據(jù)表記錄的修改 160
9.6.3 數(shù)據(jù)表記錄的刪除 160
9.7 數(shù)據(jù)表記錄的查詢操作 160
9.8 MySQL中的特殊字符 164
9.9 MySQL 數(shù)據(jù)庫的備份與還原 165
9.9.1 備份數(shù)據(jù)庫 165
9.9.2 還原數(shù)據(jù)庫 166
小結(jié) 167
上機(jī)指導(dǎo) 167
作業(yè) 168
第10章 PHP操作MySQL數(shù)據(jù)庫 169
10.1 PHP操作MySQL數(shù)據(jù)庫的方法 169
10.1.1 連接MySQL服務(wù)器 169
10.1.2 選擇MySQL數(shù)據(jù)庫 170
10.1.3 執(zhí)行SQL語句 172
10.1.4 將結(jié)果集返回數(shù)組中 173
10.1.5 使用面向?qū)ο蟛僮鱉ySQL數(shù)據(jù)庫 177
10.1.6 mysqli_result的指針 179
10.1.7 釋放內(nèi)存 180
10.1.8 關(guān)閉連接 180
10.2 管理MySQL數(shù)據(jù)庫中的數(shù)據(jù) 181
10.2.1 添加數(shù)據(jù) 181
10.2.2 編輯數(shù)據(jù) 183
10.2.3 刪除數(shù)據(jù) 185
10.2.4 批量刪除數(shù)據(jù) 186
10.3 PDO概述 189
10.3.1 配置PDO 189
10.3.2 訪問數(shù)據(jù)庫 190
10.3.3 exec()方法 191
10.3.4 query()方法 191
小結(jié) 192
上機(jī)指導(dǎo) 192
作業(yè) 194
第11章 PHP會話控制 195
11.1 會話機(jī)制 195
11.2 Cookie的操作 195
11.2.1 瀏覽器中的Cookie設(shè)置 196
11.2.2 創(chuàng)建Cookie 196
11.2.3 讀取Cookie 197
11.2.4 刪除Cookie 198
11.2.5 創(chuàng)建Cookie數(shù)組 198
11.3 Session的操作 199
11.3.1 啟動Session 199
11.3.2 存儲Session 200
11.3.3 注冊Session 200
11.3.4 使用Session 200
11.3.5 刪除Session 202
11.3.6 Session的應(yīng)用 202
11.4 Session和Cookie的區(qū)別 204
小結(jié) 205
上機(jī)指導(dǎo) 205
作業(yè) 208
第12章 面向?qū)ο缶幊?209
12.1 面向?qū)ο蟾攀?209
12.2 類與對象 210
12.2.1 類的定義 210
12.2.2 對象的創(chuàng)建 211
12.2.3 類的封裝 212
12.2.4 特殊的$this 216
12.3 構(gòu)造方法和析構(gòu)方法 217
12.3.1 構(gòu)造方法 217
12.3.2 析構(gòu)方法 218
12.4 類常量和靜態(tài)成員 219
12.4.1 類常量 219
12.4.2 靜態(tài)成員 221
12.5 面向?qū)ο筇匦浴^承 223
12.5.1 extends關(guān)鍵字 223
12.5.2 final關(guān)鍵字 224
12.6 面向?qū)ο筇匦浴鄳B(tài) 224
12.7 抽象類 225
12.8 接口 226
12.9 對象的使用 227
12.9.1 引用對象和克隆對象 227
12.9.2 比較對象 228
12.9.3 對象的類型 229
12.10 魔術(shù)方法 230
12.10.1 _ _set()方法和_ _get()方法 231
12.10.2 _ _call()方法 231
12.10.3 _ _toString()方法 231
12.10.4 _ _autoload()方法 232
小結(jié) 233
上機(jī)指導(dǎo) 233
作業(yè) 235
第13章 正則表達(dá)式 236
13.1 正則表達(dá)式概述 236
13.2 正則表達(dá)式語法規(guī)則 237
13.2.1 定位符(^、$、\b、\B) 237
13.2.2 字符類([]) 238
13.2.3 選擇字符(|) 238
13.2.4 連字符(-) 239
13.2.5 反義字符([^]) 239
13.2.6 限定符(?*+{nm}) 239
13.2.7 點字符(.) 240
13.2.8 轉(zhuǎn)義符(\) 240
13.2.9 反斜線(\) 240
13.2.10 括號字符(()) 241
13.3 PCRE兼容正則表達(dá)式函數(shù) 242
13.3.1 preg_grep()函數(shù) 242
13.3.2 preg_match()函數(shù) 243
13.3.3 preg_match_all()函數(shù) 244
13.3.4 preg_replace()函數(shù) 245
13.3.5 preg_split()函數(shù) 246
13.4 正則表達(dá)式應(yīng)用案例 247
13.4.1 驗證電子郵箱格式 247
13.4.2 驗證手機(jī)號碼格式 249
13.4.3 驗證QQ號碼格式 250
13.4.4 驗證網(wǎng)址URL格式 251
13.4.5 驗證身份證號碼格式 252
小結(jié) 254
上機(jī)指導(dǎo) 254
作業(yè) 255