本書全面介紹了PHP程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)知識(shí)。全書共有13章,所有內(nèi)容符合1+X證書的要求,采用集成化服務(wù)器軟件XAMPP作為服務(wù)器,使用的代碼編輯器為HBuilder,使用的瀏覽器為Chrome。本書內(nèi)容主要包括PHP入門與環(huán)境搭建、PHP開發(fā)基礎(chǔ)、運(yùn)算符和表達(dá)式、流程控制語(yǔ)句、函數(shù)、數(shù)組與數(shù)據(jù)結(jié)構(gòu)、PHP與Web的頁(yè)面交互、字符串處理、MySQL數(shù)據(jù)庫(kù)、PHP操作MySQL數(shù)據(jù)庫(kù)、PHP會(huì)話控制、面向?qū)ο缶幊獭⒄齽t表達(dá)式。全書知識(shí)點(diǎn)與實(shí)例緊密結(jié)合,有助于提高讀者理解PHP知識(shí)的能力和應(yīng)用PHP的技術(shù)。此外,書中部分實(shí)例還體現(xiàn)了課程素養(yǎng)的要求。本書的所有程序案例都經(jīng)過(guò)作者實(shí)例檢測(cè)成功。本書適合作為高等職業(yè)院校計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)、軟件工程專業(yè)的專業(yè)教材,也可作為網(wǎng)頁(yè)后端開發(fā)設(shè)計(jì)人員的參考用書。
孫玉強(qiáng),男,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)勢(shì) 2
1.1.4 PHP的用途 2
1.2 Web的工作原理 3
1.2.1 情景1:無(wú)PHP預(yù)處理器和數(shù)據(jù)庫(kù)的服務(wù)器 3
1.2.2 情景2:帶PHP預(yù)處理器的Web服務(wù)器 4
1.2.3 情景3:瀏覽器訪問(wèn)服務(wù)器端的數(shù)據(jù)庫(kù) 5
1.3 PHP開發(fā)環(huán)境構(gòu)建 5
1.3.1 PHP開發(fā)環(huán)境的安裝 6
1.3.2 服務(wù)器的啟動(dòng)與停止 8
1.3.3 PHP開發(fā)環(huán)境的關(guān)鍵配置 8
1.4 第一個(gè)PHP程序 10
小結(jié) 13
上機(jī)指導(dǎo) 13
作業(yè) 14
第2章 PHP開發(fā)基礎(chǔ) 15
2.1 PHP基本語(yǔ)法 15
2.1.1 PHP標(biāo)記符 15
2.1.2 PHP注釋 16
2.1.3 PHP語(yǔ)句和語(yǔ)句塊 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 檢測(cè)數(shù)據(jù)類型 24
2.3 PHP數(shù)據(jù)的輸出 25
2.3.1 四種輸出方法 25
2.3.2 輸出運(yùn)算符(<?= ?>) 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章 運(yùn)算符和表達(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 運(yùn)算符 39
3.3.1 算術(shù)運(yùn)算符 40
3.3.2 字符串運(yùn)算符 41
3.3.3 賦值運(yùn)算符 41
3.3.4 位運(yùn)算符 42
3.3.5 遞增或遞減運(yùn)算符 43
3.3.6 邏輯運(yùn)算符 44
3.3.7 比較運(yùn)算符 45
3.3.8 條件運(yùn)算符 45
3.3.9 運(yùn)算符優(yōu)先級(jí) 46
3.4 表達(dá)式 47
3.5 數(shù)據(jù)類型的轉(zhuǎn)換 47
3.5.1 自動(dòng)轉(zhuǎn)換 47
3.5.2 強(qiáng)制轉(zhuǎn)換 49
小結(jié) 51
上機(jī)指導(dǎo) 51
作業(yè) 52
第4章 流程控制語(yǔ)句 53
4.1 條件判斷語(yǔ)句 53
4.1.1 單分支結(jié)構(gòu)if語(yǔ)句 53
4.1.2 雙分支結(jié)構(gòu)if-else語(yǔ)句 54
4.1.3 多分支結(jié)構(gòu)if-elseif語(yǔ)句 56
4.1.4 多分支結(jié)構(gòu)switch語(yǔ)句 57
4.2 循環(huán)控制語(yǔ)句 59
4.2.1 while循環(huán)語(yǔ)句 59
4.2.2 do-while循環(huán)語(yǔ)句 60
4.2.3 for循環(huán)語(yǔ)句 61
4.2.4 循環(huán)結(jié)構(gòu)的應(yīng)用 62
4.3 特殊的流程控制語(yǔ)句 63
4.3.1 break語(yǔ)句 63
4.3.2 continue語(yǔ)句 64
4.3.3 exit語(yǔ)句 65
小結(jié) 66
上機(jī)指導(dǎo) 66
作業(yè) 67
第5章 函數(shù) 68
5.1 函數(shù)簡(jiǎn)介 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語(yǔ)句 75
5.3.2 require語(yǔ)句 75
5.3.3 對(duì)比include語(yǔ)句和 require語(yǔ)句 76
5.3.4 include_once語(yǔ)句和require_once語(yǔ)句 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 絕對(duì)值函數(shù) 81
5.4.6 冪運(yùn)算函數(shù) 81
5.5 時(shí)間和日期操作函數(shù) 82
5.5.1 設(shè)置系統(tǒng)時(shí)區(qū)的函數(shù) 83
5.5.2 獲取時(shí)間戳的函數(shù) 83
5.5.3 將時(shí)間戳轉(zhuǎn)換成日期和時(shí)間的函數(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()語(yǔ)句結(jié)構(gòu)新建數(shù)組 93
6.2.3 多維數(shù)組的聲明 93
6.3 數(shù)組的遍歷 95
6.3.1 使用for循環(huán)語(yǔ)句遍歷數(shù)組 95
6.3.2 使用foreach語(yǔ)句遍歷數(shù)組 97
小結(jié) 99
上機(jī)指導(dǎo) 99
作業(yè) 100
第7章 PHP與Web的頁(yè)面交互 101
7.1 解析PHP的執(zhí)行過(guò)程 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 實(shí)現(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 使用單引號(hào)或雙引號(hào)定義字符串 122
8.1.2 使用定界符定義字符串 123
8.2 字符串處理函數(shù) 124
8.2.1 轉(zhuǎn)義和還原字符串 124
8.2.2 獲取字符串長(zhǎng)度 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ù)庫(kù) 146
9.1 MySQL數(shù)據(jù)庫(kù)簡(jiǎn)介 146
9.1.1 什么是MySQL數(shù)據(jù)庫(kù) 146
9.1.2 MySQL數(shù)據(jù)庫(kù)的特點(diǎn) 146
9.1.3 MySQL 5支持的特性 147
9.2 啟動(dòng)和關(guān)閉MySQL服務(wù)器 148
9.2.1 啟動(dòng)MySQL服務(wù)器 148
9.2.2 連接和斷開MySQL服務(wù)器 148
9.3 操作MySQL數(shù)據(jù)庫(kù) 149
9.3.1 創(chuàng)建數(shù)據(jù)庫(kù) 149
9.3.2 選擇數(shù)據(jù)庫(kù) 151
9.3.3 查看數(shù)據(jù)庫(kù) 151
9.3.4 刪除數(shù)據(jù)庫(kù) 152
9.4 MySQL數(shù)據(jù)類型 152
9.4.1 數(shù)字類型 152
9.4.2 字符串類型 153
9.4.3 日期和時(shí)間類型 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ù)庫(kù)的備份與還原 165
9.9.1 備份數(shù)據(jù)庫(kù) 165
9.9.2 還原數(shù)據(jù)庫(kù) 166
小結(jié) 167
上機(jī)指導(dǎo) 167
作業(yè) 168
第10章 PHP操作MySQL數(shù)據(jù)庫(kù) 169
10.1 PHP操作MySQL數(shù)據(jù)庫(kù)的方法 169
10.1.1 連接MySQL服務(wù)器 169
10.1.2 選擇MySQL數(shù)據(jù)庫(kù) 170
10.1.3 執(zhí)行SQL語(yǔ)句 172
10.1.4 將結(jié)果集返回?cái)?shù)組中 173
10.1.5 使用面向?qū)ο蟛僮鱉ySQL數(shù)據(jù)庫(kù) 177
10.1.6 mysqli_result的指針 179
10.1.7 釋放內(nèi)存 180
10.1.8 關(guān)閉連接 180
10.2 管理MySQL數(shù)據(jù)庫(kù)中的數(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 訪問(wèn)數(shù)據(jù)庫(kù) 190
10.3.3 exec()方法 191
10.3.4 query()方法 191
小結(jié) 192
上機(jī)指導(dǎo) 192
作業(yè) 194
第11章 PHP會(huì)話控制 195
11.1 會(huì)話機(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 啟動(dòng)Session 199
11.3.2 存儲(chǔ)Session 200
11.3.3 注冊(cè)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 類與對(duì)象 210
12.2.1 類的定義 210
12.2.2 對(duì)象的創(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 對(duì)象的使用 227
12.9.1 引用對(duì)象和克隆對(duì)象 227
12.9.2 比較對(duì)象 228
12.9.3 對(duì)象的類型 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á)式語(yǔ)法規(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 點(diǎn)字符(.) 240
13.2.8 轉(zhuǎn)義符(\) 240
13.2.9 反斜線(\) 240
13.2.10 括號(hào)字符(()) 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 驗(yàn)證電子郵箱格式 247
13.4.2 驗(yàn)證手機(jī)號(hào)碼格式 249
13.4.3 驗(yàn)證QQ號(hào)碼格式 250
13.4.4 驗(yàn)證網(wǎng)址URL格式 251
13.4.5 驗(yàn)證身份證號(hào)碼格式 252
小結(jié) 254
上機(jī)指導(dǎo) 254
作業(yè) 255