第6章 PHP基本語法介紹.

Slides:



Advertisements
Similar presentations
白玉苦瓜 余光中.
Advertisements

第 4 章 PHP 基本語法.
第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
迴圈 迴圈基本觀念 while迴圈 do 迴圈 for迴圈 巢狀迴圈 迴圈設計注意事項 其他控制指令 迴圈與選擇的組合.
C#程序设计案例教程 第3章 程 序 结 构.
P303 HTML/DHTML/CSS/JavaScript 專業HTML網頁設計 陳錦輝.
第 10 章 更多的查詢技巧.
第4章 JavaScript脚本语言基础 4.1 JavaScript简介 4.2 JavaScript语法基础
第3章 JavaScript语言基础.
第 5 章 流程控制 (一): 條件分支.
第二章 JAVA语言基础.
Ch07 PHP程式基礎 網頁程式設計.
程式設計實作.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
控制流程 邏輯判斷 迴圈控制.
課程名稱:程式設計 授課老師:________
Visual Basic 6.0 學習範本 第三章 基本資料型態.
Class 2 流程控制-選擇敘述與迴圈.
第二章 C# 基础知识.
C++Primer 3rd edition 中文版 Chap 5
PHP 5 入門基礎 第一個PHP 程式 PHP 資料型態.
Shell Script 程式設計.
C++程序设计 第二讲 清华大学软件学院.
流程控制結構 4-1 流程控制與UML活動圖 4-2 程式區塊與主控台基本輸入 4-3 條件控制敘述 4-4 迴圈控制敘述 4-5 巢狀迴圈
第3章 C 語言的基本知識.
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
C 程式設計— 控制敘述 台大資訊工程學系 資訊系統訓練班.
ASP动态网页设计实用教程 主讲教师: 开课单位:.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
2 C++ 的基本語法和使用環境 親自撰寫和執行程式是學好程式語言的不二法門。本章藉由兩個簡單的程式,介紹C++ 程式的基本結構和開發環境,讓初學者能逐漸建立使用C++ 的信心。
C 語言簡介 - 2.
條件判斷指令 -if 指令 -switch 指令 迴圈指令 - for 迴圈 - while迴圈 - break、continue 指令
PHP 程式流程控制結構.
變數命名 保留字(Reserved Word)
本章中將會更詳細地考慮有關重複的概念,並且會 介紹for和do…while等兩種用來控制重複的敘述 式。 也將會介紹switch多重選擇敘述式。 我們會討論直接和迅速離開某種控制敘述式的 break敘述式,以及用來跳過重複敘述式本體剩餘 部份的continue敘述式。 本章會討論用來組合控制條件的邏輯運算子,最後.
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
Java程序设计 第2章 基本数据类型及操作.
PHP 變數、常數與運算子 變數 常數 運算子
義守大學電機工程學系 陳慶瀚 第3章 VHDL Concurrent語法 義守大學電機工程學系 陳慶瀚
PHP5與MySQL4 入門學習指南 凱文瑞克 著 第 16 章 檔案處理.
進階 WWW 程式設計 -- PHP 語言結構 靜宜大學資訊管理學系 蔡奇偉副教授 2003
第三章 C# 基础知识.
第3章 Java語法的JSP程式 3-1 Java語言的基礎 3-2 JSP程式的基本架構 3-3 Java的變數與資料型態
第二章Java基本程序设计.
PHP编程基础与实例教程 PHP Fundamentals & Practices
C语言概述 第一章.
Ch04 VB.NET的流程控制 網頁程式設計.
第六章 迴圈與陣列.
第3章 PHP表达式.
第二章 Java基本语法 讲师:复凡.
第6章 運算式與運算子 [算術與多功能計算機]
第3章 JavaScript基本语句.
C++语言程序设计教程 第2章 数据类型与表达式 第2章 数据类型与表达式 制作人:杨进才 沈显君.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第二章 Java语法基础.
本节内容 Lua基本语法.
目标 流程控制 字符串处理 C# 的类和对象 C# 访问修饰符 C# 构造函数和析构函数.
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
PHP程式設計 五、程式流程控制結構 建國科技大學 資訊管理學系 饒瑞佶.
網頁設計實務- PHP 與資料庫整合.
第1章 数据结构基础概论 本章主要介绍以下内容 数据结构研究的主要内容 数据结构中涉及的基本概念 算法的概念、描述方法以及评价标准.
本章主題 C++的程式結構 資料型態與宣告 算術運算 簡易的輸入輸出指令 程式編譯(Compile)的過程與原理.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
第2章 Java语言基础.
PHP5與MySQL5 入門學習指南 凱文瑞克 著 第 12 章 迴圈指令.
C#快速導讀 流程控制.
C语言基本语句 判断循环.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
第二章 Java基础语法 北京传智播客教育
Presentation transcript:

第6章 PHP基本語法介紹

6.1 Hello World程式

PHP 的程式碼的寫法 是在<?php和?>標籤之內崁入PHP的程式,<?php 代表的是 PHP 程式碼的開頭,?>代表的是程式碼的結束 。 程式碼的每一行後面必須加上分號(;)當作程式的結束。

PHP程式碼的格式一

PHP程式碼的格式二 (不用分行和縮排 )

寫好的網頁程式 要放在: 在瀏覽器輸入http://localhost/ch06/Ex6-11.php測試程式。 (1).個別安裝:C:\Program Files\Apache Group\Apache2\htdocs的目錄或其子目錄下。 (2).單一安裝:c:\appserv\www的目錄或其子目錄下(註:像本書建了ch06子目錄放此章節的程式, 在瀏覽器輸入http://localhost/ch06/Ex6-11.php測試程式。

範例6-1:Ex6-1.php

圖6-1:Hello World程式實例

說明: 看出來了嗎?PHP的程式是崁在html網頁內的<body>和</body>之標籤內,所以真正的PHP語言程式碼是在範例的6~8行。此範例故意將全部的標籤印出來,後面的範例將只敘述PHP的程式碼,省略其他HTML的標籤。PHP 的程式碼的寫法,是在<?php和?>標籤之內崁入PHP的程式。 第8行的echo 語法是 PHP 的語法,用來做輸出用,輸出"Hello! World!"一句話。

echo 語法 echo 是 PHP 的語法,用來做輸出。

範例6-2

圖6-2:斷行程式實例

說明: 1. PHP與HTML的換行方式,PHP 的程式碼中(本文)利用 Enter做的換行動作,並不是在瀏覽器畫面的實際換行,瀏覽器只認得HTML標籤,所以輸出畫面的換行必須在echo的敘述中,加入使用 HTML 語法中的 <br> 換行標籤。(加上 <br>或<p>,可以使得瀏覽器在顯示該字串時產生換行的效果。)

註解 1.「//」 之後的字到該行的結束均為註解,此為C 語言、C++ 語言的註解方式。 3. 「#」 之後的字到該行的結束均為註解,此為UNIX 的 Shell 語言的註解方式。

範例6-3:Ex6-3.php

圖6-3:註解程式實例

不能讓註解陷入巢狀迴圈當中 不能讓註解陷入巢狀迴圈當中,否則會引起錯誤。如下面範例在多行註解/*和*/中,又包含了另一個多行註解( /* 巢狀註解會引起問題 */)。

範例6-4:Ex6-4.php

圖6-4:錯誤註解程式實例

6.2 常數和變數

常數 常數是一個簡單數值的標識名字。如同其名稱所暗示的,在程式執行期間該值並不會改變。 合法的常數名以字母或底線開始,後面跟著任何字母,數字或底線。 常數的範圍是全區域的,也就是說不用管範圍就可以在代碼的任何地方使用。 當常數定義時,前面不需要加「$」 。 常數只能包含標準資料型態(boolean, integer, float, string) 。

常數最常用到的有下列2種函數 define()函數: 用來定義常數。 constant()函數: 用來讀取常數的值。

範例6-5:Ex6-5.php

圖6-5:常數程式實例

表6-1:PHP內建常數

變數 在 PHP 中,變數在PHP中是以“$”(錢字號)來表示!也就是說只要以 $ 開頭的單字是變數, 並且變數名稱有大小寫之分

兩個不同的變數

變數的命名原則 變數的名稱只能夠是a~z(大小寫皆可)、0-9、_(底線),並且不可以由數字開頭

正確的命名方式

比較好的變數命名的原則

變數不需要事先經過宣告 你可以隨時在程式中使用一個新的變數,而不需要事先的宣告。 雖然變數不需要經過宣告,但是一個好的程式設計師,會在規劃的時候,就將各種會使用到的變數名稱、型態規劃和整理出來成檔案,以便在程式撰寫的途中能有依循的標準

表6-2 程式的變數整理

變數的型態 變數的命名和資料型態無關,而是看變數的初始值來決定屬於自己的型態,這個型態指的是變數的種類, 而變數可以PHP提供八種資料型態,分別是:布林值、整數值、浮點數、字串、陣列、物件、資源(resource)、空(NULL)。

變數型態

範例6-6:Ex6-6.php

圖6-6:變數程式實例

預設變數 PHP 為它執行的程式提供了大量的預設變數,當然你在命名變數要避開這些變數。

表6-2:PHP預設變數

表6-2:PHP預設變數(續)

6.3資料型態

布林值型態 值可以是TRUE或FALSE其中之一,用於在類似if的序述中「判斷值」。

布林值型態

範例6-7:Ex6-7.php

圖6-7:布林值程式實例

說明: echo 出來true的值是1, echo 出來flase的值是空(Null)。

整數值型態 整數值型態是最簡單的型態,對應於包括正負數的簡單整數,整數值的範圍是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種heredoc是使用heredoc語法(“<<<”) ,這種方法因為很少人使用,故不介紹 。

1.單引號 這種方式相當的簡單,只需在字串的前後加上單引號( ' )即可。

2.雙引號 若將字串以雙引號( " )圍住,使用法和單引號法相同,有一點要注意的是雙引號內的單引號( ' )會當成字串中的文字使用

表6-3: 跳脫字元

錢($)的符號 當剖析器遇到錢($)的符號時,會把它當是一個變數名稱

取出字串中的字元 要取出字串中的字元,可在字串後面使用大括弧將偏移量括弧起來,就可得到該偏移量在字串中所代表的字元。偏移量的起始值為零(0)

字串連接 要將字串連接起來可以使用點( . )這個運算元,而不是使用加號(+)。

轉換字串 如果數字字串中包含了'.'、'e'、'E'這些字元,在轉換後會視為是浮點數的值。

範例6-9:Ex6-9.php

圖6-9:字串程式實例

陣列 陣列是一個結構性的資料儲存空間,在程式設計上是不可或缺的工具。 陣列的索引,不一定是數字編號,也可以是字串。

陣列

初始化陣列 有幾種方式: 1.直接指定索引值, 2.自動索引, 3.使用array函數

1.直接指定索引值

圖6-10:陣列程式實例

數量陣列(scalar array ) $week[0] = "Monday"; 以數值做索引的陣列稱為「數量陣列」。

聯想陣列(associative array) $week["Thursday"] = 4; 以字串做索引的陣列稱為「聯想陣列」。

2.自動索引

3.使用array函數

二維陣列 二維陣列和多維陣列的初始化與一維陣列方法相同

範例6-11:Ex6-11.php

圖6-11:二維陣列程式實例

也可以寫成如下:

陣列的內部指標 PHP 裡的陣列事實上是利用資料結構中的雙向鍵結串列來維護的

表6-4: PHP 陣列相關函數 (ref. Ex6-array.php)

表6-4: PHP 陣列相關函數(續)

物件 初始化(initialize)物件,可以使用new這個語法。

範例6-12:Ex6-12.php

圖6-12:物件程式實例

資源(resource) 是個特殊的變數,它是被特殊的函式所建立並加以使用。

資料庫連線語法

NULL 這個特殊的值NULL,所代表的意思是變數的值是空的

如果變數符合下列三點之一,變數的值會被視為是NULL 變數的值是NULL (* NULL是不分大小寫的)。 變數並沒有被設定任何的值。 變數己經被unset( )這個函式所刪除了。

自動轉換型態 使用運算元"+",自動地改變資料型態。

強迫型態轉換 要強迫變數轉換資料的型態可使用下列這種方式,在變數前面用括弧住要強迫轉換的型別,在括弧裡面可以包含tabs及空白鍵

允許強迫轉換型別的種類有下列幾種: (int), (integer):轉換成整數。 (bool), (boolean):轉換成布林值。 (float), (double), (real):轉換成浮點數。 (string):轉換成字串。 (array):轉換成陣列。 (object):轉換成物件。

轉換成物件 要將一個數量或字串的變數轉換成物件,變數的值會成為物件的屬性,此屬性的名稱會是'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) 遞增/遞減運算子(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 = $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 Operators) 字串運算子只有一個,就是「.」,用來將字串連接起來,合併成為新字串。

範例6-16:Ex6-16.php

圖6-16:字串運算子程式實例

指定運算子(Assignment Operators)

表6-7:指定運算子

範例6-17:Ex6-17.php

圖6-17:指定運算子程式實例

位元運算子(Bitwise Operators) 位元運算子有AND 運算子(&)、OR 運算子(|)、Exclusive OR 運算子(^)、NOT 運算子(~)、位元左移運算子(<<)及位元右移運算子 (>>)。

表6-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) 與許多程式語言一樣,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」的左側)的執行運算,在裡頭的字串將被視為 Dos command 來執行,而執行的輸出就是「值」,可以設定給其他變數。

範例6-23:Ex6-23.php

圖6-23:執行運算子程式實例

表6-12:運算子優先等級

6.5選擇性敘述

1.循序性結構: 由上而下的敘述方式,一行敘述執行完畢,再執行下一行。

選擇性結構: 根據判斷條件的成立與否,再決定要執行那一些敘述的結構。

重複性結構: 根據判斷條件的成立與否,決定程式段落回圈主體的執行次數的結構。

if敘述 在選擇性的結構中,使用的就是if 敘述

格式一:

格式二:

格式三:

範例6-24:Ex6-24.php

圖6-27:if敘述程式實例

搭配else敘述 加上 else 可以做「如果...則...否則...」的邏輯判斷,使用if…else…的敘述

格式一:

格式二:

範例6-25:Ex6-25.php

圖6-28:else敘述程式實例

再搭配elseif敘述 當程式的判斷需要不只一個條件時,則需要用到if…elseif…else敘述。

格式一:

格式二:

範例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 先判斷判斷式的成立與否,如果判斷式為 true,則執行 while 裡的敘述,否則(flase)離開while迴圈。

格式:

範例6-29:Ex6-29.php

圖6-33:while程式實例

do...while 敘述 do...while 敘述也是迴圈敘述,但是 do...while敘述 與 while 敘述不同的地方在於,do...while敘述會先執行 do 裡的敘述一次後才去判斷判斷式是否成立。

格式:

範例6-30:Ex6-30.php

圖6-34:do..while程式實例

for敘述 for 迴圈敘述是一種有條件式的迴圈語法,for 可以指定迴圈開始與結束和遞增的條件,因此可以限定迴圈的次數。

格式:

範例6-31:Ex6-31.php

圖6-35:for程式實例

break指令 break 指令用來跳出目前的迴圈,通常是用在利用 if 敘述判斷到某個符合的條件,而必須馬上跳出迴圈時才使用。

範例6-32:Ex6-32.php

圖6-36:break程式實例

continue 指令 continue 與 break 是相對的指令。break 中斷目前執行的迴圈,continue 則是回到迴圈的開頭,continue後面的敘述則不執行,重新執行迴圈。

範例6-33:Ex6-33.php

圖6-37:continue程式實例

巢狀迴圈 就像其他所有的程式語言一樣,PHP的巢狀迴圈是一個迴圈可在另一個迴圈之內,通常搭配多維陣列來執行。

格式:

範例6-34:Ex6-34.php

圖6-38:巢狀迴圈程式實例

本章結束 謝謝!!