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

PHP 入門:數字型別與數學運算完整指南

     編輯:PHP 相關知識

PHP 數字型別

PHP 支援兩大數字型別:

  • 整數:8, -42, 10980843985, 0x1A (十六進位), 0755 (八進位), 0b1010 (二進位)
  • 浮點數:3.14, -4.2398508, 4.4e2 (科學標記法 = 440), 1.5E-3 (= 0.0015)

重要:數字**不可加引號** (否則成字串)、**不可用逗號分隔千位** (如 20,943 錯誤)。

常用數學處理函數

函數說明範例
round($val, $precision)四捨五入,可指定小數位round(3.14159, 2) → 3.14
floor($val)無條件捨去 (向下取整)floor(3.9) → 3
ceil($val)無條件進位 (向上取整)ceil(3.1) → 4
number_format($val, $decimals, $decPoint, $thousandsSep)格式化:千分位、小數點、小數位number_format(1234.56, 2, '.', ',') → '1,234.56'
abs($val)絕對值abs(-5) → 5
min()/max()最小/最大值max(1,5,3) → 5
mt_rand($min, $max)產生較佳隨機整數 (Mersenne Twister)mt_rand(1, 100)
random_int($min, $max)**加密安全**隨機整數 (PHP 7+)random_int(1, 100)

實戰範例:購物車總價計算

<!DOCTYPE html>
<html><body>
<?php
$quantity = 30;      // 購買數量
$price = 119.95;     // 單價
$taxRate = 0.05;     // 5% 稅率

// 計算總額
$total = $quantity * $price;
$total += $total * $taxRate; // 等同 $total = $total + ($total * $taxRate)

// 格式化輸出
$total = number_format($total, 2, '.', ',');

echo "<p>您購買了 <b>$quantity</b> 件商品,單價 <b>\$$price</b>。含稅總額為 <b>\$$total</b>.</p>";
?>
</body></html>

複合賦值運算子

運算子等同於範例
+=$a = $a + $b$total += 100;
-=$a = $a - $b$total -= $discount;
*=$a = $a * $b$price *= 1.05;
/=$a = $a / $b$avg /= $count;
%=$a = $a % $b$remainder %= 10;
**=$a = $a ** $b (冪次,PHP 5.6+)$square **= 2;

運算子優先級與結合性 (高 → 低)

  1. ** (右結合)
  2. ++ -- ~ (int) (float) (string) @ (單元運算子,右結合)
  3. * / % (左結合)
  4. + - . (左結合)
  5. < <= > >= instanceof (不結合)
  6. == != === !== <=> (不結合)
  7. & (左結合)
  8. ^ (左結合)
  9. | (左結合)
  10. && (左結合)
  11. || (左結合)
  12. ?? (左結合,PHP 7+)
  13. ? : (三元運算子,右結合)
  14. = += -= *= /= %= **= .= (右結合)
  15. and (左結合)
  16. xor (左結合)
  17. or (左結合)
  18. , (左結合)

建議:複雜表達式**加括號**明確優先級,如 ($a + $b) * $c。

比較運算子重點

運算子名稱範例結果備註
==相等0 == '0'true型別轉換後比較
===全等0 === '0'false**值與型別皆相同**
!= / <>不相等1 != '1'false型別轉換後比較
!==不全等1 !== '1'true值或型別不同
<=>太空船運算子1 <=> 2-1PHP 7+,回傳 -1/0/1

邏輯運算子

  • $a && $b / $a and $b:邏輯 AND (&& 優先級較高)
  • $a || $b / $a or $b:邏輯 OR (|| 優先級較高)
  • !$a:邏輯 NOT
  • $a xor $b:邏輯 XOR (其中一個 true 才為 true)

三元運算子與 Null 合併運算子

// 三元運算子
$status = ($age >= 18) ? '成年' : '未成年';

// Null 合併運算子 (PHP 7+):左側存在且非 null 即回傳
$name = $_GET['name'] ?? '訪客';

// 串聯
$config = $userConfig ?? $siteConfig ?? $defaultConfig;

錯誤控制運算子 @

$result = @(57 / 0); // 抑制「除以零」警告,$result 為 false
// 生產環境**不建議**使用 @,應預先檢查條件或用 try/catch

總結

  • 整數、浮點數直接書寫,**不加引號、不加千分位逗號**
  • 金額顯示用 number_format(),四捨五入用 round()
  • 嚴格比較用 === / !==,避免型別轉換陷阱
  • 隨機數:一般用 mt_rand(),安全用途**必須**用 random_int()
  • 複雜運算**加括號**,提升可讀性並避免優先級錯誤
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved