PHP 快速入門 - 南臺科技大學 My 數位學習

Download Report

Transcript PHP 快速入門 - 南臺科技大學 My 數位學習

Lesson 2
1
認識PHP
2
建構 PHP 練習環境
3
PHP程式的起始與結束
4
PHP敘述句
5
變數、環境變數、常數、資料型態
6
PHP運算子
7
PHP程式註解


PHP的全名為Hypertext Preprocessor,是專門
使用在網頁上的程式語言,稱之為『動態網頁程式
語言』。網頁分為兩種,第一種為靜態網頁,第二
種為動態網頁。
動態網頁,乃指使用者可以與伺服器互動式的交談,
並輸入資料去更新或新增在伺服上的資料,然後再
回應到使用者端。如留言版、聊天室、討論區…等
等,都是動態網頁唷。

PHP有以下四個特點:
1.PHP是伺服器端的程式語言
PHP是必須放在伺服器上才能運作的程式 ,必須將製作完成的
PHP放到伺服器上才能瀏覽,沒有伺服器,PHP完全無法發揮作用。
2.PHP是內嵌式的程式語言
PHP與HTML一樣,都是直接寫在網頁檔案裡,不需要像C、Perl
一 樣需要另外自成一個檔案。
3. PHP具有跨平台的能力
跨平台的意思是能夠在不同的作業系統上執行 。重點是,PHP程
式跨平台以後,99.9%的程式碼都不需要修改就可以正常運作,相當
方便。
4. PHP是一種描述性的語言
PHP只要放到伺服器上,完全不需要使用編譯器編譯編譯就可以
運作了。

首先,為了建立一個PHP的環境,要將你的電
腦化為一台網站伺服器。比較常見的網站伺服器有IIS、
Apache、Netscape…等,在這裡我們選用APCHE
這套軟體,為什麼要使用APCHE呢?
原因一. Apache的市佔率為49.41% 甚至高於微軟的
IIS 。
原因二. Apache是一套免費、穩定可靠、耐操且功能
又 強的OPEN SOURCE軟體。

在Windows平台上,可安裝Appserv套件包,他包含了Apache
Server、PHP翻譯引擎、MySQL Database與phpMyAdmin。
步驟一.至AppServ官方網站
﹝http://www.appservnetwork.com/﹞,選擇適合的版本後即可
下載。

執行下載好的AppServ 程式開始進行安裝

▲點選圖中的圖示進行安裝
 步驟一、安裝程式歡迎畫面,點選『Next >』進行下一步。如下左圖
 步驟二、使用者條款,點選『I Agree』(我同意) 進行下一步。如下右圖
 步驟三、選擇安裝路徑。預設路徑為C:\AppServ,您也可以選擇其他安裝目
錄 ,但要注意某些作業程式安裝在D碟時出現問題。決定後點選『
Next >』。如下左圖
 步驟四、勾選要安裝的軟體。這四套軟體我們之後都會用的到,因此全部勾
選後,點選『Next >』進行下一步。如下右圖
 步驟五、設定Apache HTTP Server資訊Server Name 欄位填入localhost (必填
Administrator’s Email Address 欄位填入電子信箱 (必填),點選
『Next >』進行下一步,如下左圖。
 步驟六、設定MySQL資料庫的管理員密碼。在 Enter root password 欄位輸
入密碼在 Re-enter root password 欄位重複輸入密碼Character Sets
and Collations請選擇『UTF-8 Unicode』點選『Install』進行安裝,
如上右圖。
 步驟八、安裝完成畫面
Start Apache和Start MySQL選項請勾選,讓Apache與MySQL隨著電腦開機
而自動啟動。點選『Finish』完成 Apache Server安裝,如下左圖。
 步驟九、確認安裝完成畫面
開啟一個瀏覽器在網址列輸入http://localhost/ 或 http://127.0.0.1/,若出現以
下畫面表示安裝成功。如上右圖。

2-2.2 網頁、PHP程式要放在哪裡呢?
若你沒有變更安裝的路徑,在安裝完成後,C磁碟會多一個
『AppServ』目錄;其中含有以下四個目錄:
Apache2.2:放置Apache網站伺服器的相關資料,一般來說,製作
網
站不大需要去變更到此目錄裡面的檔案。除非你是進階
使
用者,否則也不建議你去變更這目錄裡面的檔案。
MySQL:存放MySQL資料庫的資料。
php5:PHP翻譯引擎與相關程式庫,不建議更動。
www:你的網頁就放在這目錄裡面。

PHP是內嵌式的程式語言,與HTML是寫在一起的,因為網頁裡有了PHP程式,副
檔名必須要是『.php』,當伺服器遇到副檔名是『.php』的網頁,才會特別處理
喔。在 HTML 中嵌入 PHP有四種方法:
第一種方法:

第二種方法:

第三種方法:

<? echo "第一個PHP程式"; ?>
<?php echo "第一個PHP程式"; ?>
<script language="php">
echo "第一個PHP程式";
</script>

第四種方法:
<% echo "第一個PHP程式"; %>
類似ASP程式語言的寫法,若你要使用這種方式,請記得確認php.ini設定檔
的asp_tag 是On,否則是無效的寫法喔。若是Window作業系統,一般來說
php.ini會安裝在C:/windows/目錄裡。




在2-3中可看到<?PHP ?>標籤中的 echo “第一個PHP程式”; ,
這就是PHP敘述句,PHP規定,在每個敘述句後方,都要加上分號,
代表一個敘述句的結束。
其中的echo是PHP提供的函數之一,主要功能是輸出資料到瀏覽
器,echo的另一種用法是 echo ("第一個PHP程式"); ,有無括號
都是可以正常運作的喔。
echo可以輸出文字或者是變數,範例如下:
輸出字串: echo "第一個PHP程式";
用echo輸出字串,字串前後必須加上雙引號喔!
輸出變數: echo $a;

以下都是錯誤的用法,算是比較常見的:
<?PHP
echo 輸出字串沒有加雙引號!;
echo "敘述句結尾沒有加分號"
echo "<font size="14">雙引號內還有雙引號</font>";
?>
正確的寫法:
<?PHP
echo "遇到特殊字元,\"可以\"在前面加上反斜線喔!";
echo "總金額是\$5000元整";
?>
 上述提到,遇到特殊字元需要加反斜線,那反斜線是什麼呢?他正確
的名稱為『脫逸字元』,主要的用途是讓特殊字元不經任何處理直接
輸出在畫面上。以下的特殊字元都需要加上脫逸字元喔:
符號
說明
\'
單引號
\"
雙引號
\\
反斜線
\$
錢字符號
\n
換行(原始碼)
 你有注意到嗎?『\n』是換行耶!那『\n』跟<br>或<p>有什麼不同
呢?請參考1-4.1,<br>或<p>視畫面上的換行,而『\n』是原始碼的
換行喔!聽不懂?那看看以下的範例就知道囉:
▲原始碼
▼IE中檢視原始碼結果
▲執行結果
2-5.1變數



變數是什麼?我們可以將變數想像成一個箱子,每個箱子都有它的名稱,也就是變數名稱,
而箱子裡裝的東西,就是變數的值。在PHP當中,變數是不需要事先宣告的,也不用事先聲
明這個變數是何種資料型態,是非常方便的。
變數的定義:
1.
在PHP中變數前面我們會加上 $ (錢字符號表示),如 $abc
2.
變數的指定使用 = (等於符號) 來表示變數內容,如 $abc="這是範例文字";
3.
變數的名稱可以是英文、數字、底線,但不可以使用數字開頭。
如:$a、$_a,如果是 $2a,就錯囉!!
4.
變數名稱的大小寫是有差異的喔,如$abc與$Abc是兩個不同的變數喔。
正確指派變數內容的範例:
指派字串資料給變數:$abc="範例文字";
指派數值資料給變數:$abc=1234567;
指派變數內容給變數:$abc=$bcd;


變數的內容也可以是變數名稱喔!下面是一個簡單的範例:
<?PHP
$a="b";
$b=500;
echo $$a;
?>
以上程式第三行的$$a,透過顏色之標註,可改為 $$a,而$a="b",
所以第三行可看作$b,所以echo $$a所得到的就是500,你了解了
嗎?

前面有提到,echo是PHP用來輸出資料用的,對於
字串的輸出,可以使用雙引號或者單引號,輸出的
結果都是相同的,範例如下:
▲執行結果
 echo對於變數的輸出無需加上雙引號,即使加上雙引號也能夠正常輸
出,但如果是變數加了單引號後,會直接呈現變數的原貌喔,這點要
非常注意!以下這三個範例,就能讓你了解差異性:
▲執行結果


環境變數也是變數的一種,這種變數不需要去宣告或定義,它是PHP內建的,如取得使用者的IP位址、瀏覽器
資訊…等等。環境變數非常多,是PHP的優勢之一。
寫一支PHP程式,只要輸入『phpinfo();』,你就可以看到完整的環境變數資料囉。
→
 每個環境變數都有特定的名
稱,像上圖紅色框框處,
REMOTE_ADDR就是取得
使用者的IP位址,而
SERVER_ADDR就是顯示
伺服器的IP位址。
執
行
結
果

我們可以使用REMOTE_ADDR來取得使用者的IP位址,範例如下:
▲執行結果

環境變數規定大小寫一定都要與 phpinfo();執行結果中的一致。
 簡單來說,常數是固定不變的,不會因程式執行產生變
化,我們可使用define() 來定義常數的內容。
範例:
define("AAA","PHP常數運用");
 在程式中,若需要用到此常數,則直接echo出常數的
名稱即可,如:
echo AAA;
 只要程式一讀到AAA,就會自動把AAA取代為PHP常數
運用。常數與變數不同的地方,除了常數的內容是固定
不變的之外,常數前面也不需要加$號喔。
▲執行結果
運算子
範例
+
$a + $b
$a 和 $b 的和。
-
$a - $b
$a 和 $b 的差。
*
$a * $b
$a 和 $b 的乘積。
/
$a / $b
$a 除以 $b 的商。
%
$a % $b
用途
$a 除以 $b 的餘數。
 2-6.2 遞增、遞減運算子
運算子
範例
用途
++$a
前加
$a 的值加一,然後返回 $a。
$a++
後加
返回 $a,然後將 $a 的值加一。
--$a
前減
$a 的值減一, 然後返回 $a。
$a--
後減
返回 $a,然後將 $a 的值減一。
 $a++ 範例一如下:
←
執
行
結
果
 ++$a 範例二如下:
←
執
行
結
果


『=』並不稱做“等於”,作用是把右邊的值指定給左邊的變數。例如:
$a=$b+$c。
正確的解釋是將「$b的值加上的$c值」指定給「左邊的 $a 」。所以在程
式技巧中,可以把表示式簡寫為下列方式:
標準式
化簡式
$a = $a + $b
$a += $b
$a = $a - $b
$a -= $b
$a = $a * $b
$a *= $b
$a = $a / $b
$a /= $b
$a = $a % $b
$a %= $b
範例
名稱
作用
$a & $b
And(且)
將在 $a 和 $b 轉換成二進制,比較兩值的各個位
元,都為 1 的位元設為 1。
$a | $b
Or(或)
將在 $a 和 $b 轉換成二進制,比較兩值的各個位
元,有 1 的位元設為1。
$a ^ $b
Xor(互斥)
將在 $a 和 $b 轉換成二進制,比較兩值的各個位
元,$a 和 $b 中某同位元,不同時設為 1。
~ $a
Not(補數)
將 $a 中為 0 的位設為 1,反之亦然。
$a << $b
Shift left
(左移)
將 $a 中的位向左移動 $b 次(每一次移動都表示
“乘以 2”)。
$a >> $b
Shift right
(右移)
將 $a 中的位向右移動 $b 次(每一次移動都表示
“除以 2”)。
範例
名稱
作用
$a == $b
等於
TRUE,如果 $a 等於 $b。
$a === $b
全等
TRUE,如果 $a 等於 $b,且資料型態相同。
$a != $b
不等
TRUE,如果 $a 不等於 $b。
$a <> $b
不等
TRUE,如果 $a 不等於 $b。
$a != = $b
非全等
$a < $b
小於
TRUE,如果 $a 小於 $b。
$a > $b
大於
TRUE,如果 $a 大於 $b。
$a <= $b
小於等於
TRUE,如果 $a 小於或者等於 $b。
$a >= $b
大於等於
TRUE,如果 $a 大於或者等於 $b。
TRUE,如果 $a 不等於 $b,且資料型態不同。

錯誤控制運算子的符號是「@」,當他放在一個運
算式之前,該運算式若有錯誤,將會被隱藏。
範例:

邏輯運算子返回的結果只會有兩種:真(true)或假(false),以判斷程式的某個
段落是否繼續執行或跳脫,主要用於判斷式。
範例
名稱
$a and $b
And
(邏輯與)
TRUE,如果 $a 與 $b 都為 TRUE。
$a or $b
Or
(邏輯或)
TRUE,如果 $a 或 $b 任一為 TRUE。
$a xor $b
解釋
TRUE,如果 $a 或 $b 任一為 TRUE,但不同
Xor
(邏輯互斥) 時是。
! $a
Not
(邏輯非)
TRUE,如果 $a 不為 TRUE。
$a && $b
And
(邏輯與)
TRUE,如果 $a 與 $b 都為 TRUE。
$a || $b
Or
(邏輯或)
TRUE,如果 $a 或 $b 任一為 TRUE。
 單行註解
<?
?>
//這是單行註解的文字
 多行註解
<?
?>
/*
這是多行註解的文字
這是多行註解的文字
這是多行註解的文字
*/