PHP 中的類型強制轉換和 C 中的非常像:在要轉換的變量之前加上用括號括起來的目標類型:
代碼如下 復制代碼<?php
$foo = 10; // $foo 為整型
$bar = (boolean) $foo; // $bar 為布爾型
?>
類型轉換
PHP 在變量定義中不需要(或不支持)明確的類型定義;變量類型是根據使用該變量的上下文所決定的。也就是說,如果把一個字符串值賦給變量 var,var 就成了一個字符串。如果又把一個整型值賦給 var,那它就成了一個整數。
PHP 的自動類型轉換的一個例子是加號“+”。如果任何一個操作數是浮點數,則所有的操作數都被當成浮點數,結果也是浮點數。否則操作數會被解釋為整數,結果也是整數。注意這並沒有改變這些操作數本身的類型;改變的僅是這些操作數如何被求值以及表達式本身的類型。
類型強制轉換
PHP 中的類型強制轉換和 C 中的非常像:在要轉換的變量之前加上用括號括起來的目標類型:
允許的強制轉換有:
(int)或(integer) - 轉換成整型
(bool)或(boolean) - 轉換成布爾型
(float)或(double)或(real) - 轉換成浮點型
(string) - 轉換成字符串
(array) - 轉換成數組
(object) - 轉換成對象
另外,將一個變量還原為字符串,還可以將變量放置在雙引號中:
數字換成字符轉
代碼如下 復制代碼<?php
$foo = 10; // $foo 為整型
$str = "$foo"; // $str 為字符串
?>
在我們常用的字符串轉換成整型有個超簡單的方法
$str=www.111cn.net;
$int = intval($str);
這樣$int=0;了哦。
當一個字符串被當作數字來求值時,根據以下規則來決定結果的類型和值:
如果包括“.”,“e”或“E”其中任何一個字符的話,字符串被當作 float 來求值,否則就被當作整數
該值由字符串最前面的部分決定。如果字符串以合法的數字數據開始,就用該數字作為其值,否則其值為 0(零)。合法數字數據由可選的正負號開始,後面跟著一個或多個數字(可選地包括十進制分數),後面跟著可選的指數。指數是一個“e”或者“E”後面跟著一個或多個數字
例子:
<?php
$foo = 1 + "10.5"; // $foo為浮點型:11.5
$foo = 1 + "-1.3e3"; // $foo 為浮點型:-1299
$foo = 1 + "bob-1.3e3"; // $foo 為整型:1
$foo = 1 + "bob3"; // $foo為整型:1
$foo = 1 + "10 Small Pigs"; // $foo為整型:11
$foo = "10.0 pigs " + 1; // $foo 為浮點型:11
?>
由於php無需在數據使用時定義變量所以我們可以靈活的定義變量,同時也可以靈活的轉換數據類型。