雖然 PHP 是一門弱類型的語言,但個人覺得類型還是有必要存在的,有時我們就會需要對變量進行類型轉換。
在 PHP 中有兩種方式讓你進行類型轉換:強制類型轉換和 settype() 函數類型轉換。
1. 強制類型轉換:
可強制轉換的類型
(boolean) | 強轉成 boolean 類型 |
(integer) | 強轉成整型 |
(float) | 強轉成浮點型 |
(string) | 強轉成字符串型 |
(array) | 強轉成數組類型 |
(object) | 強轉成對象 |
強制轉換其實很簡單,只需在變量名前加上小括號,小括號中包含要強制轉換成的類型即可,例:
// 定義變量 $num
$num = 123;
// 將變量 $num 強制轉換爲 string 類型並賦值給變量 $str
$str = (string)$num;
參考 PHP 官方文檔,我們知道 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;
示例:
<?php
// $foo 目前是 string 類型
$foo = "3bar";
// $bar 目前是 boolean 類型
$bar = true;
echo '轉換前的 $foo:' . $foo . "</br>";
echo '轉換前的 $bar:' . $bar . "</br>";
// $foo 現在是 3 (integer)
settype($foo, "integer");
// $bar 現在是 "1" (string)
settype($bar, "string");
echo '轉換後的 $foo:' . $foo . "</br>";
echo '轉換後的 $bar:' . $bar . "</br>";
?>
運行結果:
轉換前的 $foo:3bar
轉換前的 $bar:1
轉換後的 $foo:3
轉換後的 $bar:1