8-1
資料型態與變數宣告及運算
一、資料型態
- 純量型態:整數(integer)、浮點數(float、double)、字串(string)、布林(boolean)
- 複合型態:陣列(array)、物件(object)
- 特殊型態:空值(null)、資源(resource)
- PHP程式會自動判斷變數(Variable)的資料型態(Data Type)
- 取得資料型態
get_type(變數名稱)
- 判斷資料型態
is_xxx(變數名稱)
is_integer(變數名稱);
is_float(變數名稱);
is_double(變數名稱);
is_boolean(變數名稱);
is_array(變數名稱);
is_object(變數名稱);
is_null(變數名稱);
is_resource(變數名稱);
二、變數
- 是指程式在執行的過程中,其「內容」會隨著程式的執行而改變
- 將變數想像成一個「容器」,它是專門用來「儲放資料」的地方
- 容器的大小是由宣告時的「資料型態」來決定
- 指定「運算子」的使用
「=」assign,將右邊的運算式指定給左邊的變數
$a = $b+$c;
- 變數的命名規則
- 變數名稱之前,以「$」開頭,其後可按英文字母
- 變數名稱第一個字元必須是「英文字母」或「_」
- 變數名稱第二個字元後,可以「英文」、「_」、「數字」
- 變數名稱有分大小寫,TOTAL、total、Total,代表不同變數
- 變數名稱沒有長度的限制
- 不同使用php的保留字、內建函數、物件名稱等
三、常數(Constant)
- 在程式中重覆出現,其值也不會被改變,稱為「常數」
- 我們習慣將常數名稱前面加「_」,且使用大寫英文。(不成文規定)
- 定義常數:true省略其代表,常數有分大、小寫。反之則不分(true)
define("_PI",3.14[,true]);
四、資料的運算
- 運算式(Expression)的組成
$a = $b +1 。$a、$b、1 稱為 「運算元」,「=、+」則稱為「運算子」
- 指定運算子「=」
將「右邊」運算式的結果 指定給 「左邊」的運算元
- 算術運算子
優先順序 |
運算子 |
功能 |
例子 |
執行結果 |
1 |
* (乘) |
A與B兩數相乘 |
7*6 |
42 |
1 |
/ (除) |
A與B兩數相除 |
10/3 |
3.333333..... |
2 |
% (餘除) |
A與B兩數相除後,取餘數 |
10%3 |
1 |
3 |
+ (加) |
A與B兩數相加 |
7+6 |
13 |
3 |
- (減) |
A與B兩數相減 |
7-6 |
1 |
程式語言中的乘法是以星號(*)代替,數學中則以「x」代替
- 關係運算子
是指一種「比較大小的運算式」,因此又稱為「比較運算式」
$A=5 ; $B=15
運算子 |
功能 |
條件式 |
執行結果 |
== (等於) |
判斷A 與 B 是否相等 |
$A == $B |
false |
!= or <> (不等於) |
判斷A 是否不相等 B |
$A != $B |
true |
< (小於) |
判斷A 是否小於 B |
$A < $B |
true |
<= (小於等於) |
判斷A 是否小於等於 B |
$A <= $B |
true |
> (大於) |
判斷A 是否大於 B |
$A > $B |
false |
>= (大於等於) |
判斷A 是否大於等於 B |
$A >= $B |
false |
- 邏輯運算子
是由數數家布林(Boolean)所發展出來的。
not(反)、and(且)、or(或)、xor(互斥或)
運算子 |
順序 |
意義 |
運算式 |
運算結果為true的條件 |
!(邏輯 not) |
1 |
反 |
not A |
A 必為假 |
&&(邏輯 and) |
2 |
且 |
A and B |
A、B必為真 |
||(邏輯 or) |
3 |
或 |
A or B |
A、B中至少一個為真 |
註:以and 及 or 最常用
註:如果同一運算式中含多種不同類型的運算子,其優先順序為:
算術 > 比較 > 邏輯運算子
-
複合指定運算子
運算子 |
功能 |
簡化的表示法 |
相當於 |
執行結果
(設 I的初始值為3) |
= |
指定符號 |
$I = 2; |
$I = 2; |
$I = 2; |
+= |
相加後再指定給變數 |
$I += 2; |
$I = $I + 2; |
$I = 5; |
-= |
相減後再指定給變數 |
$I -= 2; |
$I = $I - 2; |
$I = 1; |
*= |
相乘後再指定給變數 |
$I *= 2; |
$I = $I * 2; |
$I = 6; |
/= |
相除後再指定給變數 |
$I /= 2; |
$I = $I / 2; |
$I = 1.5; |
- 字串連結運算子
運算子「.」,例 $A="我們的學校:"; $B="永康社區大學";
echo $A . $B;
印出:我們的學校:永康社區大學
五、變數的生命週期
- 變數生命週期的種類:區域性變數、全域性變數
- 區域性變數(Local Variable):凡是宣告在「函數或副程式之內部」的變數,隨著函數或副程式結束而被釋放
- 全域性變數(Global Variable):凡是宣告在「函數或副程式之外部」的變數,隨著應用程式結束而被釋放