PHP 快速導覽 - 型態轉換

設定變數 (variable) 不需要指定變數的型態 (type) ,直譯器會依字面常數與運算子自動進行型態轉換 (type conversion) ,例如

<?php
$a = "1";
echo gettype($a)."\n";
$a += 1;
echo gettype($a)."\n";
$a = $a + 0.3;
echo gettype($a)."\n";
$a .= "15 apples";
echo gettype($a)."\n";
$a += 5;
echo gettype($a);

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:juggling.php
    功能:示範 PHP 程式 
    作者:張凱慶
    時間:西元 2013 年 2 月 */
?>


此例設定變數 $a 為字串 "1" ,然後連續拿 $a 跟整數、浮點數、字串、整數進行運算,內建函數 gettype() 回傳變數的型態字串,執行結果如下



不過字串與浮點數或整數連用時須小心,因為浮點數或整數在字串中的位置會有不同的解讀,舉例如下
<?php
$a = 1 + "10.5";                
echo "a- ".gettype($a)." : ".$a."\n";
$b = 1 + "-1.3e3";
echo "b- ".gettype($b)." : ".$b."\n";
$c = 1 + "bob-1.3e3";   
echo "c- ".gettype($c)." : ".$c."\n";        
$d = 1 + "bob3";    
echo "d- ".gettype($d)." : ".$d."\n";            
$e = 1 + "10 Small Pigs";     
echo "e- ".gettype($e)." : ".$e."\n";  
$f = 4 + "10.2 Little Piggies"; 
echo "f- ".gettype($f)." : ".$f."\n";
$g = "10.0 pigs " + 1;       
echo "g- ".gettype($g)." : ".$g."\n";   
$h = "10.0 pigs " + 1.0;       
echo "h- ".gettype($h)." : ".$h;     

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:juggling2.php
    功能:示範 PHP 程式 
    作者:張凱慶
    時間:西元 2013 年 2 月 */
?>


執行結果如下



中英文術語對照
變數variable
型態type
型態轉換type conversion


您可以繼續參考
資料型態與參考


相關目錄
回 PHP 快速導覽
回 PHP 教材
回首頁


參考資料
http://www.php.net/manual/en/language.types.type-juggling.php

沒有留言: