首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 型別轉換機制:自動轉型、強制轉型與字串轉數字規則

     編輯:PHP 相關知識

型別由上下文決定

PHP 為動態弱型別語言,變數型別隨賦值自動改變:

$foo = "0";  // string
$foo++;      // string "1"
$foo += 1;   // int 2
$foo = $foo + 1.3; // float 3.3
$foo = 5 + "10 Little Piggies"; // int 15

算術運算中的型別提升

  • 任一運算元為 float → 全部視為 float 運算,結果為 float
  • 否則視為 int 運算,結果為 int
  • 原變數型別不變,僅運算過程中轉換

強制型別轉換

C 風格語法:(type)$var

轉換目標語法
整數(int)、(integer)
浮點數(float)、(double)、(real)
字串(string)
陣列(array)
物件(object)
布林(bool)、(boolean)

括號內允許空白:(int) = ( int )。

字串轉數字規則

  1. 含 .、e、E → 視為 float,否則 int
  2. 從字串開頭解析合法數字字元(可含正負號、小數點、科學記號)
  3. 開頭非數字 → 值為 0
1 + "10.5"        // float 11.5
1 + "-1.3e3"      // float -1299
1 + "bob-1.3e3"   // int 1
1 + "10 Small Pigs" // int 11

詳細規則參考 C 標準庫 strtod(3)。

型別檢測函數

gettype($var);        // 回傳型別字串
is_int(), is_float(), is_string(), is_array(), is_object(), is_bool(), is_null()
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved