PHP 裡要做強迫轉換變數型態的方法有 2 種:
1. 使用 C 語言的 type casting 語法,例如:
$x = 5; $y = (double) $x; //括弧裡可以有 tab 或空白 (space)
可使用的 cast 型別有:
1. (int),(integer) - 轉換成 integer 型別
2. (bool),(boolean) - 轉換成 boolean 型別
3. (float),(double),(real) - 轉換成 float 型別
4. (string) - 轉換成 string 型別
5. (array) - 轉換成 array 型別
6. (object) - 轉換成 object 型別
type casting 型別轉換範例。範例 1:
<?php $x = "5"; $number = (int)$x; echo $number; //輸出 5 ?>
範例 2:
<?php $x = "foo"; $arr = (array)$x; echo $arr[0]; //輸出 "foo" ?>
範例 3:
<?php $x = "foo"; $obj = (object)$x; echo $obj->scalar; //輸出 "foo" ?>
2. 使用 settype 函數:
int settype(string var, string type);
將 var 變數轉換為 type 型別,可指定的型別參數有:
1. "boolean" (PHP 4.2.0 與之後的版本也可以簡寫成 "bool")
2. "integer" (PHP 4.2.0 與之後的版本也可以簡寫成 "int")
3. "float" (PHP 4.2.0 與之後的版本才支援)
4. "double"
5. "string"
6. "array"
7. "object"
8. "null" (PHP 4.0.8 以後的版本才支援)
轉換成功傳回 true,否則傳回 false。當我們不知道某個變數的值是什麼型別時,也可以利用 gettype() 函數來取得。
在 PHP 裡和 C 語言一樣,非零即為 true,例如 if ($x) 等於 if ($x != 0)。
--jollen