版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6章,PHP基本語法介紹,6.1 Hello World程式,PHP 的程式碼的寫法,是在標籤之內崁入PHP的程式,代表的是程式碼的結束,PHP程式碼的格式一,PHP程式碼的格式二(不用分行和縮排 ),寫好的網頁程式,要放在: (1).個別安裝:C:Program FilesApache GroupApache2htdocs的目錄或其子目錄下。 (2).單一安裝:c:appservwww的目錄或其子目錄下(註:像本書建了ch06子目錄放此章節的程式, 在瀏覽器輸入http:/localhost/ch06/Ex6-11.php測試程式。,範例6-1:Ex6-1.php,圖6-1:Hello W
2、orld程式實例,說明:,看出來了嗎?PHP的程式是崁在html網頁內的和之標籤內,所以真正的PHP語言程式碼是在範例的68行。此範例故意將全部的標籤印出來,後面的範例將只敘述PHP的程式碼,省略其他HTML的標籤。PHP 的程式碼的寫法,是在標籤之內崁入PHP的程式。 第8行的echo 語法是 PHP 的語法,用來做輸出用,輸出Hello! World!一句話。,echo 語法,echo 是 PHP 的語法,用來做輸出。 而整個 echo 語法的撰寫,一行完整的敘述(程式碼),敘述結束時必須以分號做結尾,範例6-2,圖6-2:斷行程式實例,說明:,1. PHP與HTML的換行方式,PHP 的
3、程式碼中(本文)利用 Enter做的換行動作,並不是在瀏覽器畫面的實際換行,瀏覽器只認得HTML標籤,所以輸出畫面的換行必須在echo的敘述中,加入使用 HTML 語法中的 換行標籤。(加上 或,可以使得瀏覽器在顯示該字串時產生換行的效果。),註解,1./ 之後的字到該行的結束均為註解,此為C 語言、C+ 語言的註解方式。 2. /* 與 */ 之間均為註解,當多行程式要註解時可採用此法,此也為C 語言、C+ 語言的註解方式。 3. # 之後的字到該行的結束均為註解,此為UNIX 的 Shell 語言的註解方式。,範例6-3:Ex6-3.php,圖6-3:註解程式實例,不能讓註解陷入巢狀迴圈當
4、中,不能讓註解陷入巢狀迴圈當中,否則會引起錯誤。如下面範例在多行註解/*和*/中,又包含了另一個多行註解( /* 巢狀註解會引起問題 */)。,範例6-4:Ex6-4.php,圖6-4:錯誤註解程式實例,6.2 常數和變數,常數,常數是一個簡單數值的標識名字。如同其名稱所暗示的,在程式執行期間該值並不會改變。 合法的常數名以字母或底線開始,後面跟著任何字母,數字或底線。 常數的範圍是全區域的,也就是說不用管範圍就可以在代碼的任何地方使用。,常數最常用到的有下列2種函數,範例6-5:Ex6-5.php,圖6-5:常數程式實例,表6-1:PHP內建常數,變數,在 PHP 中,變數在PHP中是以“$
5、”(錢字號)來表示!也就是說只要以 $ 開頭的單字是變數, 並且變數名稱有大小寫之分,兩個不同的變數,變數的命名原則,變數的名稱只能夠是az(大小寫皆可)、0-9、_(底線),並且不可以由數字開頭,正確的命名方式,比較好的變數命名的原則,變數不需要事先經過宣告,你可以隨時在程式中使用一個新的變數,而不需要事先的宣告。 雖然變數不需要經過宣告,但是一個好的程式設計師,會在規劃的時候,就將各種會使用到的變數名稱、型態規劃和整理出來成檔案,以便在程式撰寫的途中能有依循的標準,表6-2 程式的變數整理,變數的型態,變數的命名和資料型態無關,而是看變數的初始值來決定屬於自己的型態,這個型態指的是變數的種
6、類, 而變數可以PHP提供八種資料型態,分別是:布林值、整數值、浮點數、字串、陣列、物件、資源(resource)、空(NULL)。,變數型態,範例6-6:Ex6-6.php,圖6-6:變數程式實例,預設變數,PHP 為它執行的程式提供了大量的預設變數,當然你在命名變數要1避開這些變數。,表6-2:PHP預設變數,表6-2:PHP預設變數(續),6.3資料態型,布林值型態,值可以是TRUE或FALSE其中之一,用於在類似if的序述中判斷值。,布林值型態,範例6-7:Ex6-7.php,圖6-7:布林值程式實例,說明:,echo 出來true的值是1, echo 出來flase的值是空(Null
7、)。,整數值型態,整數值型態是最簡單的型態,對應於包括正負數的簡單整數,整數值的範圍是Z = ., -2, -1, 0, 1, 2, .。,範例6-8:Ex6-8.php,圖6-8:整數程式實例,說明:,8進位數和16進位數,當然是以二進位數儲存在電腦內,但是最後輸出來時是以十進位數的轉換結果。,浮點數,浮點數又稱為floats、doubles、real numbers。 浮點數的字長和平台相關,通常最大值是 1.8e308 並具有 14 位十進制數字的精度(64 位 IEEE 格式)。,浮點數範例,字串,PHP字串的表達方式有三種:1.單引號,2.雙引號,3.heredoc語法。第3種her
8、edoc是使用heredoc語法()。,1.單引號,這種方式相當的簡單,只需在字串的前後加上單引號( )即可。,2.雙引號,若將字串以雙引號( )圍住,使用法和單引號法相同,有一點要注意的是雙引號內的單引號( )會當成字串中的文字使用,表6-3: 跳脫字元,錢($)的符號,當剖析器遇到錢($)的符號時,會把它當是一個變數名稱,取出字串中的字元,要取出字串中的字元,可在字串後面使用大括弧將偏移量括弧起來,就可得到該偏移量在字串中所代表的字元。偏移量的起始值為零(0),字串連接,要將字串連接起來可以使用點( . )這個運算元,而不是使用加號(+)。,轉換字串,如果數字字串中包含了.、e、E這些字元
9、,在轉換後會視為是浮點數的值。,範例6-9:Ex6-9.php,圖6-9:字串程式實例,陣列,陣列是一個結構性的資料儲存空間,在程式設計上是不可或缺的工具。 陣列的索引,不一定是數字編號,也可以是字串。,陣列,初始化陣列,有幾種方式: 1.直接指定索引值, 2.自動索引, 3.使用array函數,1.直接指定索引值,圖6-10:陣列程式實例,數量陣列(scalar array ),$week0 = Monday;,聯想陣列(associative array),$weekThursday = 4;,2.自動索引,3.使用array函數,二維陣列,二維陣列和多維陣列的初始化與一維陣列方法相同,範
10、例6-11:Ex6-11.php,圖6-11:二維陣列程式實例,也可以寫成如下:,陣列的內部指標,PHP 裡的陣列事實上是利用資料結構中的雙向鍵結串列來維護的,表6-4: PHP 陣列相關函數,表6-4: PHP 陣列相關函數(續),物件,初始化(initialize)物件,可以使用new這個語法。,範例6-12:Ex6-12.php,圖6-12:物件程式實例,資源(resource),是個特殊的變數,它是被特殊的函式所建立並加以使用。,資料庫連線語法,NULL,這個特殊的值NULL,所代表的意思是變數的值是空的,變數的值會被視為是NULL,變數的值是NULL。 變數並沒有被設定任何的值。 變
11、數己經被unset( )這個函式所刪除了。,自動轉換型態,使用運算元+,自動地改變資料型態。,強迫型態轉換,要強迫變數轉換資料的型態可使用下列這種方式,在變數前面用括弧住要強破轉換的型別,在括弧裡面可以包含tabs及空白鍵,允許強迫轉換型別的種類有下列幾種:,(int), (integer):轉換成整數。 (bool), (boolean):轉換成布林值。 (float), (double), (real):轉換成浮點數。 (string):轉換成字串。 (array):轉換成陣列。 (object):轉換成物件。,轉換成物件,要將一個數量或字串的變數轉換成物件轉換成物件,變數的值會成為物件的
12、屬性,此屬性的名稱會是scalar。,範例6-13:Ex6-13.php,圖6-13:轉換型別程式實例,6.4 PHP運算式/運算子/優先順序,PHP運算子,算數運算子(Arithmetic Operators) 字串運算子(String Operators) 指定運算子(Assignment Operators) 位元運算子(Bitwise Operators) 比較運算子(Comparison Operators) 條件運算子(Conditional Operator) 錯誤控制運算子(Error Control Operators) 執行運算子(Execution Operators)
13、遞增遞減運算子(Incrementing/Decrementing Operators) 邏輯運算子(Logical Operators),算數運算子,算數運算子有加, 減, 乘, 除 , 求餘數等運算。,表6-5 算數運算子,範例6-14:Ex6-14.php,圖6-14:算數運算子程式實例,遞增遞減運算子(Incrementing/Decrementing Operators),遞增運算子(+),$a+或+$a每次遞增加1。遞減運算子(-),$a- 或-$a每次遞增減1。,表6-6遞增遞減運算子,範例6-15:Ex6-15.php,圖6-15:遞增/遞減運算子程式實例,說明:,$op2 =
14、 $op1+;: $op1(值=10)先傳回值給$op2(值=10)後,$op1(值=10)自己再加 1存回$op1(值=11)。 $op2 = +$op1;: $op1(值=11)自己先加 1存回$op1(值=12) ,$op1(值=12)再傳回值給$op2(值=12)後。 $op2 = $op1-;: $op1(值=12)先傳回值給$op2(值=12)後,$op1(值=10)自己再減 1存回$op1(值=11)。 $op2 = -$op1;: $op1(值=11)自己先減 1存回$op1(值=10) ,$op1(值=10)再傳回值給$op2(值=10)後。,字串運算子(String Ope
15、rators),字串運算子只有一個,就是.,用來將字串連接起來,合併成為新字串。,範例6-16:Ex6-16.php,圖6-16:字串運算子程式實例,指定運算子(Assignment Operators),在程式語法中,將”=”解釋成”等號”並不洽當,解釋成 將右邊的值指定給左邊 較為適合,例如: $op1 = 10,表6-7:指定運算子,範例6-17:Ex6-17.php,圖6-17:指定運算子程式實例,位元運算子(Bitwise Operators),位元運算子有AND 運算子(&)、OR 運算子(|)、Exclusive OR 運算子()、NOT 運算子()、位元左移運算子()。,表6-
16、8:位元運算子,範例6-18:Ex6-18.php,圖6-18:位元運算子程式實例,比較運算子(Comparison Operators),比較運算子有 =,=,!=, 。,表6-9:比較運算子,範例6-19:Ex6-19.php,圖6-19:比較運算子程式實例,邏輯運算子(Logical Operators),and, &, or, |, xor, ! 各代表邏輯布林運算的 AND, AND , OR , OR , XOR , NOT等運算。,表6-10:邏輯運算子,範例6-20:Ex6-20.php,圖6-20:邏輯運算子程式實例,條件運算子(Conditional Operator),與
17、許多程式語言一樣,PHP 也可以使用 A ? B : C 形式(A True 則 B 否則 C),其中的 A, B, C 是 expression 形式。,表6-11:條件運算子,範例6-21:Ex6-21.php,圖6-21:條件運算子程式實例,錯誤控制運算子(Error Control Operators),PHP 提供一個錯誤控制運算元,在運算式中如果含有它,則所有的錯誤訊息均會被忽略。,範例6-22:Ex6-22.php,圖6-22:錯誤控制運算子程式實例,執行運算子(Execution Operators),PHP 支援執行運算子backticks()(倒單引號,在鍵盤上數字 1的左
18、側)的執行運算,在裡頭的字串將被視為 Dos command 來執行,而執行的輸出就是值,可以設定給其他變數。,範例6-23:Ex6-23.php,圖6-23:執行運算子程式實例,表6-12:運算子優先等級,6.5選擇性敘述,1.循序性結構:,由上而下的敘述方式,一行敘述執行完畢,再執行下一行。,選擇性結構:,根據判斷條件的成立與否,再決定要執行那一些敘述的結構。,重複性結構:,根據判斷條件的成立與否,決定程式段落回圈主體的執行次數的結構。,if敘述,在選擇性的結構中,使用的就是if 敘述,格式一:,格式二:,格式三:,範例6-24:Ex6-24.php,圖6-27:if敘述程式實例,搭配el
19、se敘述,加上 else 可以做如果則否則的邏輯判斷,使用ifelse的敘述,格式一:,格式二:,範例6-25:Ex6-25.php,圖6-28:else敘述程式實例,再搭配elseif敘述,當程式的判斷需要不只一個條件時,則需要用到ifelseifelse敘述。,格式一:,格式二:,範例6-26:Ex6-26.php,圖6-29:elseif敘述程式實例,巢狀if敘述,巢狀if敘述就是if 敘述中再用另一個 if 敘述進行判斷。,格式一:,範例6-27:Ex6-27.php,圖6-30:巢狀if敘述程式實例,switch敘述,switch 是很好用的多條件判斷敘述,跟 if.elseif.elseif. 結構相同。 switch敘述的運作方式:當case的值和switch 的值相同時,則case以下的所有的敘述就會被執行,除非在方塊裏遇到break,執行才會被中斷。,圖6-31:switch敘述流程圖,格式:,範例6-28:Ex6-28.php,圖6-32:switch程式實例,6.6 重複性敘述,while,while 是一種迴圈的敘述,while 先判斷判斷式的成立與否,如果判
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家禽禽流感防控应急处置预案
- 土地流转合同管理指引
- 生态破坏事件防范处置方案
- 整脊复位手法操作规范
- 茄果类蔬菜枯萎病综合防治指引
- 淋巴引流排毒操作指引
- 反违章操作管理专项处置办法
- 营业数据统计管理操作服务流程
- 辣椒水肥一体化实施方案
- 托福听力讲座类题库及答案
- T-ZBDIA 0004-2024 预辊涂铝锌镁高强合金板应用技术标准
- 07第七章-药品上市后再评价与监测管理
- 工业设计方法学
- 八年级国家义务教育质量监测德育考核试题
- 医用氧气使用检查记录表
- 英美文学选读教案
- 新松agc小车控制台tc操作手册
- 二类费用工程建设其他费用取费标准集合上海市
- 西安水务公司招聘考试真题
- GB/T 5169.16-2017电工电子产品着火危险试验第16部分:试验火焰50W水平与垂直火焰试验方法
- 协方差分析(三版)
评论
0/150
提交评论