PHP 採用 C 風格的強制轉換:在變數前加上括號括住的目標型別。
| 語法 | 目標型別 | 別名 |
|---|---|---|
| (int) | 整數 | (integer) |
| (bool) | 布林值 | (boolean) |
| (float) | 浮點數 | (double), (real) |
| (string) | 字串 | |
| (array) | 陣列 | |
| (object) | 物件 | |
| (unset) | NULL | PHP 7.2+ 棄用 |
<?php
$foo = 10;
echo "原始: $foo (".gettype($foo).")\n";
$foo = (bool)$foo; // true (非 0 整數為 true)
echo "bool: $foo\n"; // 1
$foo = (string)$foo; // "1"
echo "string: $foo\n";
$foo = (array)$foo; // ['1']
print_r($foo);
$foo = (object)$foo; // stdClass Object ( [0] => '1' )
var_dump($foo);
?>
== 會觸發隱含轉型(如 '123abc' == 123 為 true),請改用 ===。(int)'abc' 為 0,(int)'123abc' 為 123。Array 並觸發 Notice,請用 implode() 或 json_encode()。