數(shù)據(jù)一共有三種轉換類型,分別是強制轉換,永久轉換,以及轉換函數(shù)轉換。本篇文章通過對這三種轉換方式的介紹,帶大家深入了解類型轉換,一起和小編學習吧。
第一種、強制轉換
通過強制轉換的數(shù)據(jù),不影響數(shù)據(jù)原本的類型,僅僅將該數(shù)據(jù)臨時轉換了。
<?php echo gettype((string)500),'--',gettype(500),'<hr>'; echo gettype(strval(500)),'--',gettype(500),'<hr>'; echo gettype(strval(true)),'--',gettype(true),'<hr>'; ?>
其結果是:
string--integer string--integer string--boolean
可以看到雖然我們將數(shù)據(jù)類型轉換了,但是原來數(shù)據(jù)是什么類型,現(xiàn)在依然是什么類型,并沒有因為類型轉換而改變原有類型。
第二種、永久轉換
<?php $old=500; echo "原類型".gettype($old),'<hr>'; $current=gettype(settype($old,'string')); echo "現(xiàn)類型". gettype($current),'<hr>'; ?>
它的結果為:
原類型integer 現(xiàn)類型string
通過永久轉換過的數(shù)據(jù),其數(shù)據(jù)原有類型也發(fā)生改變。
echo gettype($old);
結果為:
string
通過上述案例可以看到我們將數(shù)據(jù)轉換之后,我們原有數(shù)據(jù)類型也隨之發(fā)生改變。
第三種、轉換函數(shù)轉換
通過intval() floatval() strval()三個轉換函數(shù)進行轉換,可以根據(jù)需求轉換成不同類型。
<?php $str="123.9abc"; echo intval($str),'--',gettype($str),'<hr>'; echo floatval($str),'--',gettype($str),'<hr>'; echo strval($str),'--',gettype($str),'<hr>'; ?>
讓我們看看他的輸出結果:
123--string 123.9--string 123.9abc--string
可以看到不同的轉換函數(shù),轉換成了不同的類型,同時其原有字符串類型不發(fā)生改變。
推薦:《PHP視頻教程》