PHP 數據類型


PHP 變量存儲不同的類型的數據,不同的數據類型可以做不一樣的事情。

PHP 支持以下幾種數據類型:

  • String(字符串)
  • Integer(整型)
  • Float(浮點型)
  • Boolean(布爾型)
  • Array(數組)
  • Object(對象)
  • NULL(空值)
  • Resource(資源類型)

PHP 字符串

一個字符串是一串字符的序列,就像 "Hello world!"。

你可以將任何文本放在單引號和雙引號中:

實例

<?php $x = "Hello world!"; echo $x; echo "<br>"; $x = 'Hello world!'; echo $x; ?>

嚐試一下 »


PHP 整型

整數是一個沒有小數的數字。

整數規則:

  • 整數必須至少有一個數字 (0-9)
  • 整數不能包含逗號或空格
  • 整數是沒有小數點的
  • 整數可以是正數或負數
  • 整型可以用三種格式來指定:十進製, 十六進製( 以 0x 為前綴)或八進製(前綴為 0)。

在以下實例中我們將測試不同的數字。

PHP var_dump() 函數返回變量的數據類型和值:

實例

<?php $x = 5985; var_dump($x); echo "<br>"; $x = -345; // 負數 var_dump($x); echo "<br>"; $x = 0x8C; // 十六進製數 var_dump($x); echo "<br>"; $x = 047; // 八進製數 var_dump($x); ?>

嚐試一下 »


PHP 浮點型

浮點數是帶小數部分的數字,或是指數形式。

在以下實例中我們將測試不同的數字。 PHP var_dump() 函數返回變量的數據類型和值:

實例

<?php $x = 10.365; var_dump($x); echo "<br>"; $x = 2.4e3; var_dump($x); echo "<br>"; $x = 8E-5; var_dump($x); ?>

嚐試一下 »


PHP 布爾型

布爾型可以是 TRUE 或 FALSE。

$x=true;
$y=false;

布爾型通常用於條件判斷。在接下來的章節中你會學到更多關於條件控製的教程。


PHP 數組

數組可以在一個變量中存儲多個值。

在以下實例中創建了一個數組, 然後使用 PHP var_dump() 函數返回數組的數據類型和值:

實例

<?php $cars=array("Volvo","BMW","Toyota"); var_dump($cars); ?>

嚐試一下 »

在接下來的章節中你將學到更多關於數組的知識。


PHP 對象

對象數據類型也可以用於存儲數據。

在 PHP 中,對象必須聲明。

首先,你必須使用class關鍵字聲明類對象。類是可以包含屬性和方法的結構。

然後我們在類中定義數據類型,然後在實例化的類中使用數據類型:

實例

<?php class Car { var $color; function __construct($color="green") { $this->color = $color; } function what_color() { return $this->color; } } ?>

嚐試一下 »

以上實例中PHP關鍵字this就是指向當前對象實例的指針,不指向任何其他對象或類。

你將會在接下來的章節中學會更多關於對象的知識。


PHP NULL 值

NULL 值表示變量沒有值。NULL 是數據類型為 NULL 的值。

NULL 值指明一個變量是否為空值。 同樣可用於數據空值和NULL值的區別。

可以通過設置變量值為 NULL 來清空變量數據:

實例

<?php $x="Hello world!"; $x=null; var_dump($x); ?>

嚐試一下 »

PHP 資源類型

PHP 資源 resource 是一種特殊變量,保存了到外部資源的一個引用。

常見資源數據類型有打開文件、數據庫連接、圖形畫布區域等。

由於資源類型變量保存有為打開文件、數據庫連接、圖形畫布區域等的特殊句柄,因此將其它類型的值轉換為資源沒有意義。

使用 get_resource_type() 函數可以返回資源(resource)類型:

get_resource_type(resource $handle): string

此函數返回一個字符串,用於表示傳遞給它的 resource 的類型。如果參數不是合法的 resource,將產生錯誤。

如下實例:

實例

<?php
$c = mysql_connect();
echo get_resource_type($c)."\n";
// 打印:mysql link

$fp = fopen("foo","w");
echo get_resource_type($fp)."\n";
// 打印:file

$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc)."\n";
// 打印:domxml document
?>