資料型別

存在用於不同目的的不同資料型別。PHP 沒有明確的型別定義,但變數的型別取決於分配的值的型別,或者由其轉換為的型別。這是關於型別的簡要概述,有關詳細的文件和示例,請參閱 PHP 型別主題

PHP 中有以下資料型別:null,boolean,integer,float,string,object,resource 和 array。

空值

Null 可以分配給任何變數。它代表一個沒有價值的變數。

$foo = null;

這使變數無效,如果呼叫它的值將是未定義的或無效的。變數從記憶體中清除並由垃圾收集器刪除。

布林

這是最簡單的型別,只有兩個可能的值。

$foo = true;
$bar = false;

布林值可用於控制程式碼流。

$foo = true;

if ($foo) {
    echo "true";
} else {
    echo "false";
}

整數

整數是正數或負數。它可以與任何數字基礎一起使用。整數的大小取決於平臺。PHP 不支援無符號整數。

$foo = -3;  // negative
$foo = 0;   // zero (can also be null or false (as boolean)
$foo = 123; // positive decimal
$bar = 0123; // octal = 83 decimal
$bar = 0xAB; // hexadecimal = 171 decimal
$bar = 0b1010; // binary = 10 decimal
var_dump(0123, 0xAB, 0b1010); // output: int(83) int(171) int(10)

浮動

浮點數,雙精度或簡稱為浮動是十進位制數。

$foo = 1.23;
$foo = 10.0;
$bar = -INF;
$bar = NAN;

排列

陣列就像一個值列表。最簡單的陣列形式由整數索引,並由索引排序,第一個元素位於索引 0。

$foo = array(1, 2, 3); // An array of integers
$bar = ["A", true, 123 => 5]; // Short array syntax, PHP 5.4+

echo $bar[0];    // Returns "A"
echo $bar[1];    // Returns true
echo $bar[123];  // Returns 5
echo $bar[1234]; // Returns null

陣列還可以將除整數索引之外的鍵與值相關聯。在 PHP 中,所有陣列都是幕後的關聯陣列,但是當我們明確地引用關聯陣列時,我們通常意味著包含一個或多個不是整數的鍵。

$array = array();
$array["foo"] = "bar";
$array["baz"] = "quux";
$array[42] = "hello";
echo $array["foo"]; // Outputs "bar"
echo $array["bar"]; // Outputs "quux"
echo $array[42]; // Outputs "hello"

字串

字串就像一個字元陣列。

$foo = "bar";

像陣列一樣,可以索引字串以返回其各自的字元:

$foo = "bar";
echo $foo[0]; // Prints 'b', the first character of the string in $foo.

賓語

物件是類的例項。可以使用 -> 運算子訪問其變數和方法。

$foo = new stdClass(); // create new object of class stdClass, which a predefined, empty class
$foo->bar = "baz";
echo $foo->bar; // Outputs "baz"
// Or we can cast an array to an object:
$quux = (object) ["foo" => "bar"];
echo $quux->foo; // This outputs "bar".

資源

資源變數包含開啟檔案,資料庫連線,流,影象畫布區域等的特殊控制代碼(如手冊中所述 )。

$fp = fopen('file.ext', 'r'); // fopen() is the function to open a file on disk as a resource.
var_dump($fp); // output: resource(2) of type (stream)

要將變數的型別作為字串,請使用 gettype() 函式:

echo gettype(1); // outputs "integer"
echo gettype(true); // "boolean"