首頁  >  文章  >  後端開發  >  php資料型別轉換實例詳解

php資料型別轉換實例詳解

怪我咯
怪我咯原創
2017-04-27 17:09:246584瀏覽

PHP是弱型別語言,因為在我們申明一個變數的時候,並不需要指明它保存的資料型別,但是PHP雖然是弱語言,但有時候還是需要用到型別轉換。

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

##轉換成整形(integer)$boo,(integer)$str#float,doublearrayobject#PHP中的型別轉換很簡單,
轉換運算子 轉換型別 範例
boolean,bool 轉換成布林類型 (boolean)$num,(boolean)$str
string 轉換成字串 (string)$boo,(string)$flo
integer,int
##轉換成浮點型 #(float)$str
轉換成陣列 (array)$str
轉換成物件 (object)$str
有三種轉換方法:

第一種:

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

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

程式碼運行結果:

php資料型別轉換實例詳解第二種:

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

<?php
$a="123.9abc";
$int=intval($a); //转换后数值:123
var_dump($int);
echo "<br/>";
$float=floatval($a); //转换后数值:123.9
var_dump($float);
echo "<br/>";
$str=strval($float); //转换后字符串:"123.9"
var_dump($str);
?>

程式碼執行結果:

php資料型別轉換實例詳解#第三種:

使用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資料型別轉換實例詳解

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

php資料型別轉換實例詳解

PHP資料型別轉換實例

本實例將使用第一種和第三種兩種方法將指定的字串進行型別轉換,比較兩種方法之間的不同,程式碼如下:

<?php
header("content-type:text/html;charset=utf-8");        //设置编码
$num=&#39;3.1415926r*r&#39;;
echo &#39;使用(integer)操作符转换变量$num类型:&#39;;        //使用integer转换类型
echo (integer)$num .&#39;<br/>&#39;;
echo &#39;输出变量$num的值:&#39;.$num.&#39;<br/>&#39;;               //输出原始变量$num
echo &#39;使用settype函数转换变量$num类型:&#39;;
echo settype($num,&#39;integer&#39;).&#39;<br/>&#39;;                 //使用settype函数转换类型
echo &#39;输出变量$num的值:&#39;.$num;                       //输出原始变量$num
                       
?>

程式碼執行結果:

php資料型別轉換實例詳解#從上面的的實例可以看到,使用integer操作符能直接輸出轉換後的變數類型,且原變數不發生任何變化。而是用settype()函數回傳的是1,也就是true,原變數就改變了,在實際應用中,可依自己的需求選擇轉換方式。

下一節,我們講解「

怎麼偵測資料型別

」。

以上是php資料型別轉換實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn