PHP 中的類型強制轉換和 C 中的非常像:在要轉換的變數之前加上用括弧括起來的目標類型:
| 代碼如下 |
複製代碼 |
<?php $foo = 10; // $foo 為整型 $bar = (boolean) $foo; // $bar 為布爾型 ?> |
類型轉換
PHP 在變數定義中不需要(或不支援)明確的類型定義;變數類型是根據使用該變數的上下文所決定的。也就是說,如果把一個字串值賦給變數 var,var 就成了一個字串。如果又把一個整型值賦給 var,那它就成了一個整數。
PHP 的自動類型轉換的一個例子是加號“+”。如果任何一個運算元是浮點數,則所有的運算元都被當成浮點數,結果也是浮點數。否則運算元會被解釋為整數,結果也是整數。注意這並沒有改變這些運算元本身的類型;改變的僅是這些運算元如何被求值以及運算式本身的類型。
類型強制轉換
PHP 中的類型強制轉換和 C 中的非常像:在要轉換的變數之前加上用括弧括起來的目標類型:
| 代碼如下 |
複製代碼 |
<?php $foo = 10; // $foo 為整型 $bar = (boolean) $foo; // $bar 為布爾型 ?>
|
允許的強制轉換有:
(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無需在資料使用時定義變數所以我們可以靈活的定義變數,同時也可以靈活的轉換資料類型。