PHP 在變數定義中不需要(或不支持)明確的類型定義;變數類型是根據使用該變數的上下文所決定的。也就是說,如果把一個字元串值賦給變數 var,var 就成了一個字元串。如果又把一個整型值賦給 var,那它就成了一個整數。PHP 的自動類型轉換的一個例子是加號“+”。如果任何一個操作數是浮點數,則所有...
PHP 在變數定義中不需要(或不支持)明確的類型定義;變數類型是根據使用該變數的上下文所決定的。也就是說,如果把一個字元串值賦給變數 var,var 就成了一個字元串。如果又把一個整型值賦給 var,那它就成了一個整數。
PHP 的自動類型轉換的一個例子是加號“+”。如果任何一個操作數是浮點數,則所有的操作數都被當成浮點數,結果也是浮點數。否則操作數會被解釋為整數,結果也是整數。註意這並沒有改變這些操作數本身的類型;改變的僅是這些操作數如何被求值以及表達式本身的類型。
類型強制轉換
允許的強制轉換有:
- (int), (integer) - 轉換為 整型(integer)
- (bool), (boolean) - 轉換為 布爾型(boolean)
- (float), (double), (real) - 轉換為 浮點型(float)
- (string) - 轉換為 字元串(string)
- (binary) - 轉換為二進位 字元串(string) (PHP 6)
- (array) - 轉換為 數組(array)
- (object) - 轉換為 對象(object)
- (unset) - 轉換為 NULL (PHP 5)
(binary) 轉換會在結果前面加上首碼'b',PHP 5.2.1 新增。
註意在括弧內允許有空格和製表符
將 字元串(string)文字和變數轉換為二進位 字元串(string):
<?php $binary = (binary)$string; $binary = b"binary string"; ?>
如果要改變一個變數的類型,參見 settype();
settype — 設置變數的類型
bool settype ( mixed $var , string $type )將變數 var 的類型設置成 type。
type 的可能值為:
- “boolean” (或為“bool”,從 PHP 4.2.0 起)
- “integer” (或為“int”,從 PHP 4.2.0 起)
- “float” (只在 PHP 4.2.0 之後可以使用,對於舊版本中使用的“double”現已停用)
- “string”
- “array”
- “object”
- “null” (從 PHP 4.2.0 起)
成功時返回 TRUE, 或者在失敗時返回 FALSE.
intval() , floatval() , strval() , 這三個函數也可轉換