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

PHP 型別轉換完全指南:自動轉型、強制轉換與實用函式

     編輯:PHP 相關知識

PHP 是弱型別語言,變數型別由上下文自動推斷。理解型別轉換規則能避免邏輯錯誤,寫出更健壯的程式碼。

自動型別轉換

運算子會根據操作數自動轉型:

$a = "10" + 5;    // 字串 "10" 自動轉為整數 10,結果 15 (int)
$b = "3.14" + 1;  // 字串轉為浮點數,結果 4.14 (float)
$c = true + 1;    // 布林 true 轉為 1,結果 2 (int)

規則:若任一操作數為 float,全部視為 float;否則視為 integer。

強制型別轉換

使用括號語法明確指定目標型別:

語法目標型別別名
(int) / (integer)整數
(bool) / (boolean)布林值
(float) / (double) / (real)浮點數
(string)字串
(array)陣列
(object)物件
(unset)NULLPHP 5+
(binary)二進位字串PHP 6+,前綴 b

常用轉換函式

  • intval($var) / (int)$var → 整數
  • floatval($var) / (float)$var → 浮點數
  • strval($var) / (string)$var → 字串
  • settype($var, $type) → 直接修改變數型別,成功回傳 true

字串轉數值的細節

intval("42")        // 42
intval("3.14")      // 3
intval("abc")       // 0
intval("10px")      // 10 (從開頭解析數字)
floatval("3.14px")  // 3.14

最佳實務

  1. 輸入驗證階段統一轉型,避免業務邏輯中隱性轉換
  2. 使用 === 嚴格比較,區分 0、""、null、false
  3. 資料庫讀取後,對關鍵欄位套用 intval 或 floatval 確保型別正確
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved