php中資料類型強制轉換

來源:互聯網
上載者:User

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無需在資料使用時定義變數所以我們可以靈活的定義變數,同時也可以靈活的轉換資料類型。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.