2021年3月11日 星期四

PHP 的基本資料型態

設定目標:
  • 了解 PHP 標準資料型態種類
  • 了解 PHP 資料型態轉換方式

PHP 標準資料型態
  1. 整數(Integer) : 32 bits or 64 bits
    • PHP_INT_MAX : 該平台最大整數值
    • PHP_INT_SIZE : 該平台整數位元值大小
    • 運算過程中,若超出整數型態值,則自動轉成浮點數!
  2. 浮點數(float) : 32 bits or 64 bits
    • 又稱實數(real),專用於存放有小數點的數字資料型態
    • 因為 PHP 屬弱型別資料型態,所以 float or double 都是相同資料型態!
    • e : 科學表示法,表示以10為底的指數
      • 例 : 9.773e3 = 9773
  3. 字串 : 沒有大小限制
    • 單引號 : 單引號中的變數不會轉成內容值
    • 雙引號 : 雙引號中的變數會轉成內容值
    • 跳脫字元 : 使用反斜線「 \ 」
      • \t : 相等於 [Tab] 鍵
      • \n : 換行,並移至行頭
      • \r : 換行
  4. 布林值(boolean) :
    • 表達事件的「真」或「假」!
    • 值 : true or false / True or False / TRUE or FALSE / 其它0以外的值:true or 0:false
    • 例 : ex3_4.php
      <?php
        $t = true;
      $f = false;
      echo "\$t 值 : $t 數字 : (int)$t "."<br />";
      echo "\$f 值 : $f 數字 : (int)$f "."<br />"; ?>
  5. 陣列(array) :
    • 把相同的資料型態的若干個變數集合起來,就成了陣列!
    • 陣列可以是一維、二維,甚至是多維!
    • 陣第一筆資料,由索引值為 0 開始配置!
    • 例 : ex3_5.php
      <?php
        $x[0] = "Hello";
        echo $x[0];
      ?>
      
      PS:這邊只介紹陣列資料型態,使用方式則在後來的章節才會說明!
  6. 物件(object) :
    • 利用 class 關鍵字定義一個類別(模型),再利用 new 關鍵字來建立這個類別的物作(實例)!
  7. 資源(resource) :
    • 透過專門的函數來建立和使用,負責與外部資源的聯繫!
    • 例 : XML文件、資料庫連線、讀寫外部檔案…等等!
  8. 空值(NULL) :
    • 表示沒有任何內容的變數!
    • 例 : ex3_6.php
      <?php
        $a = NULL;
        echo "\$a = $a";
      ?>
      
PHP 資料型態轉換
  1. 強制轉換
    • 轉換成整數 : (int) (integer)
    • 轉換成浮點數 : (float) (double) (real)
    • 轉換成字串 : (string)
    • 轉換成布林值 : (bool) (boolean)
    • 轉換成二進位字串 : (binary)
    • 轉換成陣列 : (array)
    • 轉換成物件 : (object)
    • 轉換成 NULL : (unset)
    • 例 : ex3_7.php
      <?php
         $pi = 3.141592;
         echo "\$pi 轉成整數 : ".(int)$pi;
         $input = "3.141592pi";
         echo "pi 轉成浮點數 : ".(float)$input;
      ?>
      
  2. 以函數轉換
    • settype(): 需要輸入兩個參數,一是變數,二是要轉換的資料型態!
      • 資料型態參數 : “integer”、“int”、“float”、“string”、“boolean”、“bool”、“array”、“object”、“null”
    • 轉換成功回傳 true,轉換失敗回傳 false !!
    • 例 : ex3_8.php
      <?php
        $pi = 3.141592;
        settype($pi, "integer");
        echo "\$pi 轉成整數: ".$pi;
        $piString = "3.141592circle";
        echo "是否有轉成功".settype($piString, "float");
        echo "\$piString 是: ".$piString;
      ?>
      
    • 其他轉換函數 :
      • intval() : 轉換成整數
      • floatval()、doubleval(): 轉換成浮點數
      • strval() : 轉換成字串
    • gettype() : 取得資料型態
    • intdiv() : 取餘數