移至主內容

PHP的資料型態

PHP的資料型態

Written by Wanding on 27 July 2021

我們的電腦運作時,存放資料的地方就是記憶體,記憶體的資料都是由0和1所組成。因此,記憶體中的0 和1 組成資料是代表什麼意義,那就得看程式如何定義。可以把它定義為整數、文字、或字元。而電腦如何定義資料的方式就叫做資料型態。也就是說,資料型態是資料表示的狀態。在一般程式中,資料型態通常會與變數一起宣告使用。在PHP中,資料型態可以分為下列幾種:

整數 (integer)

整數即是不含小數點的數值,可以為正負整數,範圍為 -2,147,483,648 至 2,147,483,647,其數值可以用10進位表示外,也能使用八進位或十六進位表示。若要使用八進位的數值,只需要在數值前面加一個0,若要使用十六進位,只需要在數值前面加上0x

<?php 
    $number1=123 ;    //變數number1為正整數123
    echo $number1;
    echo "<BR>";      //輸出HTML斷行
    $number2=-456;    //變數number2為負整數-456
    echo $number2;
    echo "<BR>";      //輸出HTML斷行
    $number3=012;     //變數number3為八進位12,相當於十進位的10
    echo $nimber3;
    echo "<BR>";      //輸出HTML斷行
    $number4=0xF;     //變數number4為十六進位F,相當於十進位的15
    echo $nimber4;
    echo "<BR>";      //輸出HTML斷行
?>

執行結果如下:

123
-456
10
15

 

浮點數 (floating point number)

浮點數即是含有小數的數值,也可以為正負的浮點數,其範圍為 1.7E-308~1.7E+308,其數值可以使用指數的方式來表示。

<?php
     $number1=12.34;        //變數number1為正浮點數12.34
     echo $number1;
     echo "<br>";           //輸出HTML斷行
     $number2=-12.34;       //變數number2為負浮點數-12.34
     echo $number2;
     echo "<br>";           //輸出HTML斷行
     $number3=123.4567e3;   //變數number3為123.4567e3,相當於123456.7
     echo $number3;
     echo "<br>";           //輸出HTML斷行
     $number4=123.4567e-2;  //變數number4為123.4567e-2,相當於1.234567
     echo $number4;
     echo "<br>";           //輸出HTML斷行
?>

執行結果如下:

12.34
-12.34
123456.7
1.234567

 

字串(string)

字串即是一串文字資料,使用時必須使用單引號(')或雙引號(")來包住以表示其為文字內容,當然其代表的意義也不相同。若使用雙引號包住含有變數的字串時,該變數會被[置入],但若是使用單引號來包住含有變數的字串,則會直接顯示該字串。

<?php
    $name="Mary";             //設定變數name為Mary
    $str1="Hello! $name.";    //設定變數str1為Hello! $name,並使用雙引號
    echo $str1;               //顯示變數str1的內容
    echo "<br>";
    $str2='Hello! $name.';    //設定變數str2為Hello! $name,並使用單引號
    echo $str2;               //顯示變數str2內容
?>

執行結果如下:

Hello!  Mary.
Hello!  $name.

在PHP字串中,如果要使用一些特殊字元,例如單引號或雙引號,這些特殊字元在被使用於字串內時,必須加入反斜線的跳脫字元,才能在字串中顯示出特殊字元與功用,如下表:

特殊字元 用途
\' 表示'符號
\" 表示"符號
\$ 表示$符號
\\ 表示\符號
\n 表示換行
\t 表示定位點
\r 表示游標至列首

布林(boolean)

布林即是真假值,其值可以為true(真)或false(假)兩種,通常會與設定的條件判斷一起使用,以判斷條件是否成立。

<?php
    $boolean1=true;                        //變數boolean1為真
    $boolean2=false;                       //變數boolean2為假
    if ($boolean1){                        //判斷變數boolean1是否為真
         echo "變數boolean1為真<br>";
    }else {
         echo "變數boolean1為假<br>";
    }
    if ($boolean2){
         echo "變數boolean2為真<br>";       //判斷變數boolean2是否為真
    }else {
         echo "變數boolean2為假<br>";
?>

執行結果:

變數boolean1為真
變數boolean2為假

物件(objects)

物件即是透過類別(class)產生一個新的物件變數。所謂的類別即是一種可以自訂的建構,建構內包含相關的變數和運作上所使用的函式,所產生的物件可以設定類別內的相關變數與執行類別內的使用函式。

陣列(arrays)

陣列即是一種用來存放多個相同資料類型的變數。

資源(resources)

資源是指變數內容是一個外部資源,可以包括是圖檔、文件、資料庫連線...等。

空值(null)

空值即是指變數內無任何資料或指向任何資料,會以null 來表示空值。

<?php
    $number1= 30;
    echo $number1;
    echo "<br>";
    $number2= 50;
    echo $number2;
    echo "<br>";

    $number1= null;      //變數$number1為空值
    echo $number1;
    echo "<br>";
    unset ($number2);    //使用函式unset()將變數$number2刪除
    echo $number2;       //印出變數則出現錯誤
    echo "<br>";
?>

執行結果:

30
50

轉換型態

當變數型態在使用過程中需要轉換型態,我們可以透過以下兩種方式來進行變數型態轉換:

1. 強制轉換

以型態強制轉換,即是在變數或運算子前加上指定的資料型態強制進行轉換,如下:

<?php
    $number= 30.56;             //變數number為浮點數型態
    echo $number;
    echo "<br>";
    $number= (int)$number;      //強制轉換變數number為整數型態
    echo $number;
?>

執行結果:

30.56
30

2. 使用settype函式

<?php
    $number= 30.56;             //變數number為浮點數型態
    echo $number;
    echo "<br>";
    settype($number, "int");    //使用settype函式轉換變數number為整數型態
    echo $number;
?>

執行結果:

30.56
30

回目錄