php資料類型轉換執行個體詳解

來源:互聯網
上載者:User
PHP是弱類型語言,因為在我們申明一個變數的時候,並不需要指明它儲存的資料類型,但是PHP雖然是弱語言,但有時候仍然需要用到類型轉換。

PHP允許轉換的類型如下表:

轉換操作符 轉換類型 舉例
boolean,bool 轉換成布爾類型 (boolean)$num,(boolean)$str
string 轉換成字串 (string)$boo,(string)$flo
integer,int 轉換成整形 (integer)$boo,(integer)$str
float,double 轉換成浮點型 (float)$str
array 轉換成數組 (array)$str
object 轉換成對象 (object)$str

PHP中的類型轉換非常簡單,有三種轉換方法:

第一種:

只需要在要轉換的變數之前加上用括弧括起來的類型名稱即可,像下面這樣:

<?php$num1=3.14;$num2=(int)$num1;var_dump($num1);echo "<br/>";var_dump($num2);?>

代碼運行結果:

第二種:

使用3個具體類型的轉換函式,intval()、floatval()、strval()

<?php$a="123.9abc";$int=intval($a); //轉換後數值:123var_dump($int);echo "<br/>";$float=floatval($a); //轉換後數值:123.9var_dump($float);echo "<br/>";$str=strval($float); //轉換後字串:"123.9"var_dump($str);?>

代碼運行結果:

第三種:

使用settype()函數,該函數可以將指定的變數轉換成指定的資料類型,文法如下:

settype(mixed var,string type)

參數var為指定的變數;參數type為指定的資料類型。參數type有7個可選值,即boolean,float,integer,array,null,object和string,如果轉換成功setype()函數返回true,否則返回false。

<?php$num=12.8;$flg=settype($num,"int");var_dump($flg);  //輸出bool(true)echo "<br/>";var_dump($num); //輸出int(12)?>

代碼運行結果:

當字串轉換為整型或浮點型時,如果字串是以數字開頭的,就會先把數字部分轉換為整型,在捨去後面的字串;如果數字中含有小數點,則會取到小數前一位。

PHP資料類型轉換執行個體

本執行個體將使用第一種和第三種兩種方法將指定的字串進行類型轉換,比較兩種方法之間的不同,代碼如下:

<?phpheader("content-type:text/html;charset=utf-8");        //設定編碼$num='3.1415926r*r';echo '使用(integer)操作符轉換變數$num類型:';        //使用integer轉換類型echo (integer)$num .'<br/>';echo '輸出變數$num的值:'.$num.'<br/>';               //輸出原始變數$numecho '使用settype函數轉換變數$num類型:';echo settype($num,'integer').'<br/>';                 //使用settype函數轉換類型echo '輸出變數$num的值:'.$num;                       //輸出原始變數$num                       ?>

代碼運行結果:

從上面的的執行個體可以看到,使用integer操作符能直接輸出轉換後的變數類型,並且原變數不發生任何變化。而是用settype()函數返回的是1,也就是true,原變數就改變了,在實際應用中,可根據自己的需求選擇轉換方式。

下一節,我們講解“怎麼檢測資料類型”。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.