![]() |
溫瑞烘老師的教學歷程檔案(Teaching ePortfolio) - 102-1--物件導向程式設計 - 第2週講義-PHP資料型態與運算式 |
| 第2週講義-PHP資料型態與運算式PHP的資料型態 本文引自http://pydoing.blogspot.tw/2012/10/php-tutorial.html PHP 支援八種基本型態 (primitive type),這八種分別是 布林 (boolean) 整數 (integer) 浮點數 (floating point number) 字串 (string) 陣列 (array) 物件 (object) 資源 (resource) NULL 基本上程式 (program) 會自動判斷變數 (variable) 的資料型態 (data type) , PHP 的變數寫法就比較特別一點,用金錢符號 $ 開頭,其後可接英文字母,如下 $b 為布林型態, $i 為整數型態, $f 為浮點數型態, $s 為字串型態 $b = True; // 布林型態 $i = 1234; // 整數型態 $f = 12.3; // 浮點數型態 $s = "12"; // 字串型態 布林型態只有兩種常數 True 或 False ,整數是不含小數點的數字,浮點數則是包含小數點的數字,字串為雙引號圍起來的任意字元。陣列就比較複雜一點,因為陣列分成兩部份,第一部分為索引,第二部份則是資料,兩者可以是上面四者型態任一,資料還可以是其他的陣列,例如 $a1 = array(10, 20, 30, 40); $a2 = array( 1 => 100, // 索引為1 值為100 "A" => 33.06, // 索引為"A" 值為33.06 "1" => "Tony", // 索引為"1" 值為"Tony" ); 建立陣列需要用到內建函數(function) array(),索引與資料放在參數列 (parameter list) ,若無提供索引,如 $a1 ,索引會自動由 0 遞增填補,因此存取 $a1 如下 echo $a1[0]; // 顯示10、注意:位置由0開始 echo $a1[1]; // 顯示20 echo $a1[2]; // 顯示30 echo $a1[3]; // 顯示40 陣列變數後面緊接中括號,中括號裡面則放索引值。 當然,如果有提供索引,存取陣列的元素就得依據索引值 echo $a2[1]; // 顯示100 echo $a2["A"]; // 顯示33.06 echo $a2["1"]; // 顯示Tony 物件則是自訂的類別 (class) ,我們稍後才會完整介紹。至於資源及 NULL 為兩個特別的資料型態,前者為外部的參考,例如文件、資料庫 (database) 等等,後者則表示什麼都不是,當有特殊需要的時候便可指派變數為 NULL 。變數是個很重要概念,因為變數可依需要賦予不同的值。接下來,我們來看看變數命名規則吧! PHP的變數命名規則 PHP 的變數 (variable) 由金錢符號 $ 開頭,其後可接底線、英文大小寫字母或數字,但數字不可以接在金錢符號之後,下面這些都是合法的變數名稱: $variable_name; $_code; $CODE; $_1234; $a1234; $some; $Some; 須注意一點,英文大寫與小寫對變數名稱來說是不一樣的,因此 $some 與 $Some 是兩個不同的變數。 有一個特別的變數名稱 $this ,用在類別定義中,不能當成自行定義的變數名稱。 總括來說,變數名稱為識別字 (identifier) 的一種,其他函數 (function) 、類別 (class) 、屬性 (property) 、方法 (method) 等名稱也都屬於識別字,依循同樣的命名規則。 依命名習慣,類別或物件 (object) 變數常用大寫駝峰型 (upper camel case) class ClassName {} // 類別名稱 $NewObject = new ClassName; // 物件變數名稱 類別中的屬性與方法常用小寫駝峰型 (lower camel case) public $propertyName; // 屬性名稱 public function methodName() {} // 方法名稱 函數及變數則多以英文小寫單字,或由底線符號連結多個英文小寫單字為主。然而命名仍是以開發團隊沿襲的習慣為主,只要合乎命名規則的都可以當成識別字。 當然,識別字 (keyword) 具有特殊功能,因此識別字不能當作識別字名稱,另外 PHP 還有很多預先定義的名稱,如全域變數、內建函數等,我們自己定義的名稱最好避免與這些名稱相同。 有沒有發現每一行程式都要以分號結尾,若是漏打分號的話,程式就無法執行。分號代表什麼意思呢?有分號結尾的程式碼,在 PHP 稱之為陳述 (statement) ,簡單的陳述可由運算式 (expression) 組成,接下來我們來看看運算式與陳述吧! PHP的運算式與陳述 運算式 (expression) 由運算元 (operand) 與運算子 (operator) 所組成,依運算元的數量,運算式可以簡單分為下列三種:單一個運算元,兩個運算元,三個運算元。 單一運算元就構成一個運算式,運算元可以是變數(variable) 、常數(literal)、或呼叫函數 (function) ,例如 $a; // 以變數當運算元 3; // 以常數當運算元 echo "\n"; // 使用關鍵字 運算式,顧名思義,其為運算出一個結果的式子,因此單一運算元的運算式所得到的結果就是運算元的值,如果是函數方法呼叫,就是函數的回傳值 (return value)。單一運算元也可以結合單元運算子,單元運算子有
正負如同一般數學表示正負值一樣,同樣的,負負會得正 $a = -3; $b = +$a; // $b 會等於 -3 $c = -$a; // $c 會等於 3 遞增、遞減則是會將整數變數遞增 1 或遞減 1 ,有前後之別 $a = 3; $b = ++$a; // $b 會等於 4 $c = $a++; // $c 會等於 4 $d = --$a; // $d 會等於 4 $e = $a--; // $e 會等於 4 邏輯補數運算子會把 True 變成 False , False 變成 True $a = True; $b = !$a; // $b 會等於 False $c = !$b; // $c 會等於 True 一般運算子都須結合兩個運算元,例如算術運算子 (arithmetic operator) ,可用在整數 (integer) 及浮點數 (floating-point number) ,計算結果也為整數或浮點數
例如 $a = 11; $b = $a + 33; // $b 會等於 44 $c = $b - 22; // $c 會等於 22 $d = $c * 11; // $d 會等於 242 $e = $d / 44; // $e 會等於 5.5 $f = $e % 55; // $f 會等於 5 相等性及關係運算子 (equality and relational operator) ,可用於整數及浮點數或布林值 (Boolean value) ,計算結果不是 True 就是 False
例如 $a = 11; $b = 22; $c = $a >= $b; // $c 會等於 False $d = $a <= $b; // $d 會等於 True $e = $c == $d; // $e 會等於 False $f = $a != $b; // $f 會等於 True 我們運用的等號,其實屬於指派運算子 (assignment operator) ,所謂的指派是把等號右邊的值給左邊的變數
例如 $a = 11; $a += 33; // $a 會等於 44 $a -= 22; // $a 會等於 22 $a *= 11; // $a 會等於 242 $a /= 44; // $a 會等於 5.5 $a %= 55; // $a 會等於 5 有沒有看的眼花撩亂?居然有 $f = $a != $b 之類的式子出來,這是因為運算子有計算的優先次序 (precedence) ,由於 != 的優先順序在 = 之前,所以 $a != $b 會先被計算,結果才會指派到 $f 之中。如果不是很清楚各個運算子的優先次序,保險一點的做法可以用小括弧,先把要先被計算的運算式圍起來,例如 $f = ($a != $b); // 等於 $f = $a != $b 這是因為小括弧有最高的優先計算次序。 加上分號,運算式就是程式 (program) 中獨立的陳述 (statement) 。 PHP 程式的執行單位就是陳述,由前而後,一個陳述接著一個陳述來執行。陳述也有好幾種,最簡單的陳述就是單一個分號 ; // 什麼事也不做的陳述 練習:寫PHP程式,完成下列練習 1. 假設 $a=100; $b=20; 計算下列範例的內容,以echo 輸出
2. 假設 $a=100; $b=20; 計算下列範例的內容,以echo 輸出
3. 假設 $a=100; $b=20; 計算下列範例的內容,以echo 輸出
4. 前述程式在本地端執行完畢後再上傳至ccs.cust.edu.tw上執行一次 5. 將程式與執行結果post到ePortfolio
|
|
中華科技大學數位化學習歷程 - 意見反應 | ![]() |