本書全面介紹了PHP程序設計語言的基礎知識。全書共有13章,所有內容符合1+X證書的要求,采用集成化服務器軟件XAMPP作為服務器,使用的代碼編輯器為HBuilder,使用的瀏覽器為Chrome。本書內容主要包括PHP入門與環(huán)境搭建、PHP開發(fā)基礎、運算符和表達式、流程控制語句、函數(shù)、數(shù)組與數(shù)據(jù)結構、PHP與Web的頁面交互、字符串處理、MySQL數(shù)據(jù)庫、PHP操作MySQL數(shù)據(jù)庫、PHP會話控制、面向對象編程、正則表達式。全書知識點與實例緊密結合,有助于提高讀者理解PHP知識的能力和應用PHP的技術。此外,書中部分實例還體現(xiàn)了課程素養(yǎng)的要求。本書的所有程序案例都經過作者實例檢測成功。本書適合作為高等職業(yè)院校計算機應用技術專業(yè)、軟件工程專業(yè)的專業(yè)教材,也可作為網頁后端開發(fā)設計人員的參考用書。
孫玉強,男,1956年10 月生,江西余江人,教授,曾就職河南師大和常州大學,現(xiàn)于鄭州電力職業(yè)技術學院工作。
目 錄
第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預處理器和數(shù)據(jù)庫的服務器 3
1.2.2 情景2:帶PHP預處理器的Web服務器 4
1.2.3 情景3:瀏覽器訪問服務器端的數(shù)據(jù)庫 5
1.3 PHP開發(fā)環(huán)境構建 5
1.3.1 PHP開發(fā)環(huán)境的安裝 6
1.3.2 服務器的啟動與停止 8
1.3.3 PHP開發(fā)環(huán)境的關鍵配置 8
1.4 第一個PHP程序 10
小結 13
上機指導 13
作業(yè) 14
第2章 PHP開發(fā)基礎 15
2.1 PHP基本語法 15
2.1.1 PHP標記符 15
2.1.2 PHP注釋 16
2.1.3 PHP語句和語句塊 17
2.2 PHP數(shù)據(jù)類型 18
2.2.1 標量數(shù)據(jù)類型 18
2.2.2 復合數(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
小結 30
上機指導 30
作業(yè) 31
第3章 運算符和表達式 32
3.1 常量 32
3.1.1 自定義常量 32
3.1.2 預定義常量 34
3.2 變量 35
3.2.1 變量的概念 35
3.2.2 變量的命名和定義 35
3.2.3 變量的賦值方式 36
3.2.4 可變變量 37
3.2.5 預定義變量 38
3.3 運算符 39
3.3.1 算術運算符 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 表達式 47
3.5 數(shù)據(jù)類型的轉換 47
3.5.1 自動轉換 47
3.5.2 強制轉換 49
小結 51
上機指導 51
作業(yè) 52
第4章 流程控制語句 53
4.1 條件判斷語句 53
4.1.1 單分支結構if語句 53
4.1.2 雙分支結構if-else語句 54
4.1.3 多分支結構if-elseif語句 56
4.1.4 多分支結構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)結構的應用 62
4.3 特殊的流程控制語句 63
4.3.1 break語句 63
4.3.2 continue語句 64
4.3.3 exit語句 65
小結 66
上機指導 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ù)的調用 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 隨機數(shù)函數(shù) 80
5.4.5 絕對值函數(shù) 81
5.4.6 冪運算函數(shù) 81
5.5 時間和日期操作函數(shù) 82
5.5.1 設置系統(tǒng)時區(qū)的函數(shù) 83
5.5.2 獲取時間戳的函數(shù) 83
5.5.3 將時間戳轉換成日期和時間的函數(shù) 84
小結 86
上機指導 86
作業(yè) 86
第6章 數(shù)組與數(shù)據(jù)結構 87
6.1 數(shù)組的分類 87
6.2 數(shù)組的定義 88
6.2.1 使用直接賦值的方式聲明數(shù)組 89
6.2.2 使用array()語句結構新建數(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
小結 99
上機指導 99
作業(yè) 100
第7章 PHP與Web的頁面交互 101
7.1 解析PHP的執(zhí)行過程 101
7.2 Web表單 102
7.2.1 表單標簽 103
7.2.2 表單元素 103
7.2.3 使用數(shù)組提交表單數(shù)據(jù) 107
7.2.4 表單綜合應用 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 應用PHP全局變量獲得表單數(shù)據(jù) 112
7.4.1 $_POST[]全局變量 112
7.4.2 $_GET[]全局變量 113
7.5 文件上傳 114
7.5.1 上傳文件相關配置 114
7.5.2 $_FILES全局變量 114
7.5.3 實現(xiàn)PHP文件上傳 116
7.6 服務器獲取數(shù)據(jù)的其他方法 117
7.6.1 $_REQUEST[]全局變量 117
7.6.2 $_SERVER[]全局變量 117
小結 118
上機指導 119
作業(yè) 121
第8章 字符串處理 122
8.1 字符串的定義方法 122
8.1.1 使用單引號或雙引號定義字符串 122
8.1.2 使用定界符定義字符串 123
8.2 字符串處理函數(shù) 124
8.2.1 轉義和還原字符串 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轉義字符串轉換 141
8.2.11 其他常用字符串函數(shù) 143
小結 144
上機指導 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 啟動和關閉MySQL服務器 148
9.2.1 啟動MySQL服務器 148
9.2.2 連接和斷開MySQL服務器 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 查看表結構 156
9.5.3 修改表結構 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
小結 167
上機指導 167
作業(yè) 168
第10章 PHP操作MySQL數(shù)據(jù)庫 169
10.1 PHP操作MySQL數(shù)據(jù)庫的方法 169
10.1.1 連接MySQL服務器 169
10.1.2 選擇MySQL數(shù)據(jù)庫 170
10.1.3 執(zhí)行SQL語句 172
10.1.4 將結果集返回數(shù)組中 173
10.1.5 使用面向對象操作MySQL數(shù)據(jù)庫 177
10.1.6 mysqli_result的指針 179
10.1.7 釋放內存 180
10.1.8 關閉連接 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
小結 192
上機指導 192
作業(yè) 194
第11章 PHP會話控制 195
11.1 會話機制 195
11.2 Cookie的操作 195
11.2.1 瀏覽器中的Cookie設置 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的應用 202
11.4 Session和Cookie的區(qū)別 204
小結 205
上機指導 205
作業(yè) 208
第12章 面向對象編程 209
12.1 面向對象概述 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 構造方法和析構方法 217
12.3.1 構造方法 217
12.3.2 析構方法 218
12.4 類常量和靜態(tài)成員 219
12.4.1 類常量 219
12.4.2 靜態(tài)成員 221
12.5 面向對象特性—繼承 223
12.5.1 extends關鍵字 223
12.5.2 final關鍵字 224
12.6 面向對象特性—多態(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 魔術方法 230
12.10.1 _ _set()方法和_ _get()方法 231
12.10.2 _ _call()方法 231
12.10.3 _ _toString()方法 231
12.10.4 _ _autoload()方法 232
小結 233
上機指導 233
作業(yè) 235
第13章 正則表達式 236
13.1 正則表達式概述 236
13.2 正則表達式語法規(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 轉義符(\) 240
13.2.9 反斜線(\) 240
13.2.10 括號字符(()) 241
13.3 PCRE兼容正則表達式函數(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 正則表達式應用案例 247
13.4.1 驗證電子郵箱格式 247
13.4.2 驗證手機號碼格式 249
13.4.3 驗證QQ號碼格式 250
13.4.4 驗證網址URL格式 251
13.4.5 驗證身份證號碼格式 252
小結 254
上機指導 254
作業(yè) 255