Ch07 PHP程式基礎 網頁程式設計.

Slides:



Advertisements
Similar presentations
第 4 章 PHP 基本語法.
Advertisements

第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
迴圈 迴圈基本觀念 while迴圈 do 迴圈 for迴圈 巢狀迴圈 迴圈設計注意事項 其他控制指令 迴圈與選擇的組合.
第 2 章 初探 C++.
第一章 C语言概述 计算机公共教学部.
P303 HTML/DHTML/CSS/JavaScript 專業HTML網頁設計 陳錦輝.
上課囉 職場甘苦談 小資男孩向錢衝 育碁數位科技 呂宗益/副理.
第4章 JavaScript脚本语言基础 4.1 JavaScript简介 4.2 JavaScript语法基础
第3章 JavaScript语言基础.
14 JavaScript语言基础 JavaScript是一种轻量级、解释型的Web开发语言。所谓轻量级,就是语言的体系结构不是很庞杂,例如,没有C、Java等语言中的类、内存管理、系统管理等高深的知识范畴;所谓解释型,就是语言在浏览器或服务器等环境中直接被解释执行,不需要对源代码进行编译操作。
第 5 章 流程控制 (一): 條件分支.
第二章 JAVA语言基础.
5.1 – 表格(FORM) 輸入元素 : 兩種傳遞方法 : GET or POST 範例 1. 文字欄位 Text box
四 VBScript编程基础.
Ch03 VB.NET語法建立ASP.NET 網頁程式設計.
ASP VBScript 基础知识.
PHP5與MySQL5 入門學習指南 凱文瑞克 著 第 9 章 常數.
BLANK overview.
程式設計實作.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
課程名稱:程式設計 授課老師:________
Visual Basic 6.0 學習範本 第三章 基本資料型態.
第二章 C# 基础知识.
C++Primer 3rd edition 中文版 Chap 5
PHP 5 入門基礎 第一個PHP 程式 PHP 資料型態.
第一次随堂作业(10.16) 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
流程控制結構 4-1 流程控制與UML活動圖 4-2 程式區塊與主控台基本輸入 4-3 條件控制敘述 4-4 迴圈控制敘述 4-5 巢狀迴圈
程式敘述執行順序的轉移 控制與重複、方法 Lecturer:曾學文.
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
C 程式設計— 控制敘述 台大資訊工程學系 資訊系統訓練班.
本單元介紹何謂變數,及說明變數的宣告方式。
ASP动态网页设计实用教程 主讲教师: 开课单位:.
C 語言簡介 - 2.
第4章 程序控制结构与算法基础.
條件判斷指令 -if 指令 -switch 指令 迴圈指令 - for 迴圈 - while迴圈 - break、continue 指令
PHP 程式流程控制結構.
變數命名 保留字(Reserved Word)
13.1 用框架劃分工作區,方便演示資訊 13.2 使用連結及鎖定點連接資訊 13.3 使用列表及表單演示資訊
新世代計算機概論第三版 第11章 網際網路.
本章中將會更詳細地考慮有關重複的概念,並且會 介紹for和do…while等兩種用來控制重複的敘述 式。 也將會介紹switch多重選擇敘述式。 我們會討論直接和迅速離開某種控制敘述式的 break敘述式,以及用來跳過重複敘述式本體剩餘 部份的continue敘述式。 本章會討論用來組合控制條件的邏輯運算子,最後.
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
PHP 變數、常數與運算子 變數 常數 運算子
進階 WWW 程式設計 -- PHP 語言結構 靜宜大學資訊管理學系 蔡奇偉副教授 2003
第3章 Java語法的JSP程式 3-1 Java語言的基礎 3-2 JSP程式的基本架構 3-3 Java的變數與資料型態
第二章Java基本程序设计.
PHP编程基础与实例教程 PHP Fundamentals & Practices
Ch09 在網頁之間傳遞資訊 網頁程式設計.
Ch04 VB.NET的流程控制 網頁程式設計.
第六章 迴圈與陣列.
C# 基本語法、變數.
第3章 PHP表达式.
第二章、第三章错题分析.
第二章 Java基本语法 讲师:复凡.
第3章 JavaScript基本语句.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第二章 Java语法基础.
本节内容 Lua基本语法.
目标 流程控制 字符串处理 C# 的类和对象 C# 访问修饰符 C# 构造函数和析构函数.
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
PHP程式設計 五、程式流程控制結構 建國科技大學 資訊管理學系 饒瑞佶.
第1章 数据结构基础概论 本章主要介绍以下内容 数据结构研究的主要内容 数据结构中涉及的基本概念 算法的概念、描述方法以及评价标准.
W3C标准网页制作 主讲教师:张 涛.
第2章 Java语言基础.
第6章 PHP基本語法介紹.
PHP5與MySQL5 入門學習指南 凱文瑞克 著 第 12 章 迴圈指令.
C#快速導讀 流程控制.
C语言基本语句 判断循环.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
第二章 Java基础语法 北京传智播客教育
Presentation transcript:

Ch07 PHP程式基礎 網頁程式設計

大綱 認識動態網頁技術 建立PHP、Apache、MySQL執行環境 撰寫第一個PHP程式 型別、變數、常數與運算子 流程控制 2018/9/17

認識動態網頁技術 Web 採用的是「主從式架構」(client-server module),如下圖,其中「用戶端」(client) 可以透過網路連線存取另一部電腦的資源或服務,而提供資源或服務的電腦就叫做「伺服器」(server)。 2018/9/17

瀏覽器端 Scripts 瀏覽器端 Scripts 指的是嵌入在 HTML 原始碼內的小程式,由瀏覽器負責執行。JavaScript 和 VBScript 均能用來撰寫瀏覽器端 Scripts,其中以 JavaScript 為主流。 下圖是 Web 伺服器處理瀏覽器端 Scripts 的過程: 2018/9/17

伺服器端 Scripts 伺服器端 Scripts 也是嵌入在 HTML 原始碼內的小程式,但和瀏覽器端 Scripts 不同的是它由 Web 伺服器負責執行。下圖是 Web 伺服器處理伺服器端 Scripts 的過程: 常見的伺服器端 Scripts 有下列幾種: CGI (Common Gateway Interface) JSP (Java Server Pages) ASP (Active Server Pages)/ASP.NET PHP (PHP:Hypertext Preprocessor) 2018/9/17

認識 PHP、Apache 與 MySQL PHP(Personal Home Page): PHP 官方網站http://www.php.net/ 查看PHP的發展現況、下載PHP 模組、PHP 文件或加入討論。 Apache :是 Apache HTTP Server 的簡稱,這是 Apache 軟體基金會所發展的 Web 伺服器,和 PHP 一樣屬於開放原始碼,具有完全免費、穩定、快速、安全、跨平台等優點。 MySQL:是由 MySQL AB 公司所發展的關聯式資料庫管理系統,它和 PHP、Apache 一樣屬於開放原始碼,但不同的是若純粹為個人用途,無須申請即可免費使用,若為商業用途,則須向MySQL AB 公司購買授權。MySQL官方網站http://www.mysql.com/ 查看MySQL的發展現況、下載免費的MySQL社群版。 2018/9/17

建立 PHP、Apache 與 MySQL 執行環境 下載XAMPP,同時安裝Apache, MySQL, Php 參考YouTube網路資料: 關鍵字: xampp教學 吳老師 安裝完畢後,網頁主目錄為 ??/xampp/htdocs/ 2018/9/17

撰寫第一個php程式 將 PHP 程式嵌入 HTML 網頁 <!doctype html> <html> <head> <meta charset="utf-8"> <title>first php page!!</title> </head> <body> <?php echo("hello"); phpinfo(); ?> </body> </html> 將檔案存在網頁的根目錄下,或是在根目錄下再新增一個子資料夾,再將檔案存到子資料夾下 利用瀏覽器下輸入網址: http://localhost/子資料夾/??.php 2018/9/17

撰寫第一個php程式 將 PHP 程式放在外部檔案 demo.inc <?php echo("hello"); phpinfo(); ?> index1.php <!doctype html> <html> <head> <meta charset="utf-8"> <title>first php page!!</title> </head> <body> <?php include_once("demo.inc"); ?> </body> </html> 2018/9/17

PHP 程式碼撰寫慣例 英文字母大小寫 空白字元 分號 註解 PHP 程式的每行敘述結尾要加上分號 (;),例如:echo(“hello”); 註解 PHP 提供了 // 和 # 兩種單行註解符號 PHP 亦提供了 /* */ 一種多行註解符號 2018/9/17

PHP 程式保留字 and or xor __FILE__ exception php_user_filter __LINE__ array () as break case cfunction class const continue declare default die () do echo () else elseif empty () enddeclare endfor endforeach endif endswitch endwhile eval () exit () extends for foreach function global if include () include_once () isset () list () new old_function print () require () require_once () return () static switch unset () use var while __FUNCTION__ __CLASS__ __METHOD__ 2018/9/17

資料型別 PHP 支援下列八種型別 純量型別 (scalar type) 整數 (integer) 特殊型別 (special type) „ 浮點數 (float、double) „ 布林 (boolean) „ 字串 (string) 特殊型別 (special type) NULL „資源 (resource) 複合型別 (compound type) 陣列 (array) 物件 (object) „ 物件 (object) 2018/9/17

整數 (integer) 整數 (integer) 是最簡單的型別,PHP 所支援的整數範圍取決於電腦平台的字組大小 (word size)。 PHP 接受十、八、十六進位整數,例如: echo(10 + 10); //十進位整數相加,會顯示十進位整數20 echo(010 + 010); //八進位整數相加,會顯示十進位整數16 echo(0x10 + 0x10); //十六進位整數相加,會顯示十進位整數32 echo PHP_INT_SIZE; //32-bit平台會顯示4,表示為4Bytes echo PHP_INT_MAX; //32-bit平台會顯示2147483647 2018/9/17

浮點數 (float、double) 浮點數 (float、double) 指的是實數,我們可以使用小數點或科學符號表示浮點數,例如: echo(-123.456);    //會顯示 -123.456 (符號 - 表示負數) echo(+12.3); //會顯示12.3 (符號 + 或沒有符號表示正數) echo(0.123456789012345);   //會顯示0.123456789012,多出的位數被四捨五入 echo(1.2345E+2);   //會顯示123.45 echo(-123.45e-3);   //會顯示 -0.12345 2018/9/17

布林 (boolean) 布林 (boolean) 只能表示 TRUE (真) 或 FALSE (偽) 兩種值 (沒有大小寫之分),當我們將非布林資料轉換成布林型別時,只有下列資料會轉換成FALSE: 整數 0 浮點數 0.0 空字串 "" 與字串 "0" 沒有元素的陣列 沒有成員的物件 特殊型別 NULL (包括尚未設定的變數) 2018/9/17

字串 (string) 字串 (string) 指的是由字母、數字、文字、符號所組成的單字、片語或句子: 單引號字串 (single quoted string): echo('生日快樂!');  //會顯示「生日快樂!」 (字串可以包含中文和全形標點符號) echo('C:\\Win');  //會顯示「C:\Win」 (\\ 為逸脫字元,會被解譯為 \) echo('I am \'Jean\'.');  //會顯示「I am 'Jean'.」 (\' 為逸脫字元,會被解譯為 ') 雙引號字串 (double quoted string) echo("I am \"Jean\".");  //會顯示「I am "Jean".」 (\" 為逸脫字元,會被解譯為 ") $str = "Mary";   //將變數str設定為字串 "Mary" (變數的名稱前面必須加上 $) echo("Hi, $str.");   //會顯示「Hi, Mary.」 (變數str會被剖析為字串 "Mary")  2018/9/17

特別型別 NULL:凡型別為 NULL 的變數,就只有一種值-常數 NULL ,例如: $var = NULL; //將變數var的值設定為NULL 資源 (resource):資源 (resource) 型別代表的是一種特殊值,用來指向 PHP 程式的外部資源,例如: $my_resource = mysql_connect(); 2018/9/17

檢查型別 gettype(arg) is_integer(arg)、 is_int(arg)、is_long(arg) is_float(arg)、is_real(arg) is_bool(arg) is_string(arg) is_null(arg) is_resource(arg) is_array(arg) is_object(arg) is_numeric(arg) is_scalar(arg) 2018/9/17

轉換型別 使用轉型運算式將資料的型別轉換成指定的型別,例如: 使用settype(var, type) 函式設定型別,例如: echo (int)TRUE;        //轉型運算式 (int) 將TRUE轉換成整數1,故顯示1 使用settype(var, type) 函式設定型別,例如: $var = TRUE; //將變數var設定為TRUE (布林型別) settype($var, “integer”);      //呼叫settype() 函式將變數var的型別設定為integer echo $var; //TRUE轉換成integer型別會得到1,故顯示1 使用 intval(var)、floatval(var)、strval(var) 函式,例如: $var = TRUE; //將變數var設定為TRUE (布林型別) intval($var); //呼叫intval() 函式將變數var的型別轉換成integer echo $var; //TRUE轉換成integer型別會得到1,故顯示1 2018/9/17

變數命名 PHP 規定變數的前面必須加上錢字符號 ($),其命名規則如下: 第一個字元可以是英文字母或底線 (_),其它字元可以是英文字母、底線或阿拉伯數字,而且英文字母有大小寫之分。 保留字均無大小寫之分,但變數名稱和常數名稱則有大小寫之分 不能使用保留字、內建變數的名稱、內建函式的名稱、內建物件的名稱等。 避免在內部範圍使用與外部範圍相同的名稱,以免存取錯誤。    $My_Variable1 //合法的變數名稱    $_MyVariable2 //合法的變數名稱    $3MyVariable //非法的變數名稱,不能以數字開頭    $My@Variable4 //非法的變數名稱,不能包含@符號 2018/9/17

變數的存取方式 PHP 屬於動態型別程式語言,變數在使用之前無須宣告型別,同時可以在執行期間視實際情況動態轉換型別,我們通常使用等於符號 (=) 指派變數的值,例如:   $myName = "小丸子"; //變數myName的型別為string 使用者自訂常數:我們可以使用 define() 函式建立常數,其語法如下: define(name, value[, case_insensitive]) define("PI", 3.14); define(“X”, 10 * 5);         //定義名稱為X、值為50的常數,* 為乘法運算子 define(“Y”, X + 2);       //定義名稱為Y、值為52的常數,+ 為加法運算子 2018/9/17

PHP內定常數 預先定義的常數 說明 __LINE__ 檔案的行數。 __FILE__ 檔案名稱與完整路徑。 __DIR__ 檔案所在的目錄。 __FUNCTION__ 函式名稱。 __CLASS__ 類別名稱。 __METHOD__ 方法名稱。 __NAMESPACE__ 命名空間名稱。 2018/9/17

算術運算子 運算子 語法 說明 範例 傳回値 + 運算元1 + 運算元2 運算元1加上運算元2 12 + 3 15 - 運算元1 - 運算元2 運算元1減去運算元2 12.8 – 5 7.8 * 運算元1 * 運算元2 運算元1乘以運算元2 8.1 * 3 24.3 / 運算元1 / 運算元2 運算元1除以運算元2 1 / 3 0.333333333 333 % 運算元1 % 運算元2 運算元1除以運算元2 的餘數 20 % 3 2 2018/9/17

字串運算子 PHP 提供的字串運算子為小數點 (.),其用途是連接字串,例如: $a = “PHP” . “5"; //將變數a的值設定為字串 "PHP5" $b = "PHP" . 5; //將變數b的值設定為字串 "PHP5” 2018/9/17

遞增/遞減運算子 遞增運算子 (++) 的語法如下 遞減運算子 (--) 的語法如下 2018/9/17

比較運算子 2018/9/17

位元運算子 2018/9/17

邏輯運算子 2018/9/17

指派運算子 2018/9/17

條件運算子 條件運算子 ?: 是一個三元運算子,其語法如下:   例如下面的敘述會得到 "YES": 2018/9/17

運算子的優先順序 2018/9/17

PHP的輸出函式 echo str1 [, str2 [, str3…]] print str echo '<i>Hello!</i><br>'; echo '生日', '快樂', '<br>'; echo '<a href="defualt.htm">回首頁</a>'; ?> print str print '<i>Hello!</i><br>'; var_dump(var1 [, var2 [, var3…]]) $a = 1.1; $b = TRUE; $c = 'Hello!'; var_dump($a, $b, $c); 2018/9/17

認識流程控制 判斷結構 (decision structures) 迴圈結構 (loop structures) „ if (if...、if...else...、if...elseif...) switch 迴圈結構 (loop structures) „for foreach while do...while 2018/9/17

if:若...就... (單向選擇) if (condition) statement; 2018/9/17

if...else...:若...就...否則... (雙向選擇) if (condition) { statements1; } else statements2; 2018/9/17

if...elseif...:若...就...否則 if (condition1) { statements1; } elseif (condition2) statements2; elseif (condition3) statements3; ... else statementsN+1; 2018/9/17

2018/9/17

switch switch(expression) { case value1: statements1; break; case value2: statements2; … default: statementsN+1; } 2018/9/17

2018/9/17

for (計數迴圈) for (initializers; expression; iterators) { statements; [break;] } 2018/9/17

while while(condition) { statements; [break;] } 2018/9/17

do…while do { statements; [break;] }while(condition); 2018/9/17

break 2018/9/17