# PHP數據類型
* * *
PHP 變量存儲不同的類型的數據,不同的數據類型可以做不一樣的事情。
PHP 支持以下幾種數據類型:
* String(字符串)
* Integer(整型)
* Float(浮點型)
* Boolean(布爾型)
* Array(數組)
* Object(對象)
* NULL(空值)
* Resource(資源類型)
* * *
## PHP 字符串
一個字符串是一串字符的序列,就像 "Hello world!"。
你可以將任何文本放在單引號和雙引號中:
## 實例
"; $x = 'Hello world!'; echo $x; ?>
[嘗試一下 ?](https://www.runoob.com/try/showphp.php?filename=demo_datatypes_string)
* * *
## PHP 整型
整數是一個沒有小數的數字。
整數規則:
* 整數必須至少有一個數字 (0-9)
* 整數不能包含逗號或空格
* 整數是沒有小數點的
* 整數可以是正數或負數
* 整型可以用三種格式來指定:十進制, 十六進制( 以 0x 為前綴)或八進制(前綴為 0)。
在以下實例中我們將測試不同的數字。
PHP[var\_dump()](https://www.runoob.com/php/php-var_dump-function.html)函數返回變量的數據類型和值:
## 實例
"; $x = -345; // 負數 var\_dump($x); echo ""; $x = 0x8C; // 十六進制數 var\_dump($x); echo ""; $x = 047; // 八進制數 var\_dump($x); ?>
[嘗試一下 ?](https://www.runoob.com/try/showphp.php?filename=demo_datatypes_integer)
* * *
## PHP 浮點型
浮點數是帶小數部分的數字,或是指數形式。
在以下實例中我們將測試不同的數字。 PHP var\_dump() 函數返回變量的數據類型和值:
## 實例
"; $x = 2.4e3; var\_dump($x); echo ""; $x = 8E\-5; var\_dump($x); ?>
[嘗試一下 ?](https://www.runoob.com/try/showphp.php?filename=demo_datatypes_float)
* * *
## PHP 布爾型
布爾型可以是 TRUE 或 FALSE。
$x=true;
$y=false;
布爾型通常用于條件判斷。在接下來的章節中你會學到更多關于條件控制的教程。
* * *
## PHP 數組
數組可以在一個變量中存儲多個值。
在以下實例中創建了一個數組, 然后使用 PHP var\_dump() 函數返回數組的數據類型和值:
## 實例
[嘗試一下 ?](https://www.runoob.com/try/showphp.php?filename=demo_datatypes_array)
在接下來的章節中你將學到更多關于數組的知識。
* * *
## PHP 對象
對象數據類型也可以用于存儲數據。
在 PHP 中,對象必須聲明。
首先,你必須使用class關鍵字聲明類對象。類是可以包含屬性和方法的結構。
然后我們在類中定義數據類型,然后在實例化的類中使用數據類型:
## 實例
color = $color; } function what\_color() { return $this\->color; } } ?>
[嘗試一下 ?](https://www.runoob.com/try/showphp.php?filename=demo_datatypes_object)
以上實例中PHP關鍵字this就是指向當前對象實例的指針,不指向任何其他對象或類。
你將會在接下來的章節中學會更多關于對象的知識。
* * *
## PHP NULL 值
NULL 值表示變量沒有值。NULL 是數據類型為 NULL 的值。
NULL 值指明一個變量是否為空值。 同樣可用于數據空值和NULL值的區別。
可以通過設置變量值為 NULL 來清空變量數據:
## 實例
[嘗試一下 ?](https://www.runoob.com/try/showphp.php?filename=demo_datatypes_null)
* * *
## PHP 資源類型
PHP 資源 resource 是一種特殊變量,保存了到外部資源的一個引用。
常見資源數據類型有打開文件、數據庫連接、圖形畫布區域等。
由于資源類型變量保存有為打開文件、數據庫連接、圖形畫布區域等的特殊句柄,因此將其它類型的值轉換為資源沒有意義。
使用**get\_resource\_type()**函數可以返回資源(resource)類型:
~~~
get_resource_type(resource $handle): string
~~~
此函數返回一個字符串,用于表示傳遞給它的 resource 的類型。如果參數不是合法的 resource,將產生錯誤。
如下實例:
## 實例
<?php
$c\=mysql\_connect();
echoget\_resource\_type($c)."\\n";
// 打印:mysql link
$fp\=fopen("foo","w");
echoget\_resource\_type($fp)."\\n";
// 打印:file
$doc\=new\_xmldoc("1.0");
echoget\_resource\_type($doc\->doc)."\\n";
// 打印:domxml document
?>