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

PHP 格式化數字時需注意數值範圍

     編輯:PHP 綜合知識

兩種 SQL 字串建構方式比較

字串串接

$sql = 'SELECT *
FROM sdb_comments
WHERE goods_id = ' . intval($goods_id) . '
AND for_comment_id IS NULL
AND object_type = "' . $item . '"
AND disabled="false"
AND display = "true"';

sprintf 格式化

$sql = sprintf('SELECT *
FROM sdb_comments
WHERE goods_id = %.0f
AND for_comment_id IS NULL
AND object_type = "%s"
AND disabled="false"
AND display = "true"', (float)$goods_id, $item);

第二種方式較易讀維護,但需注意格式化代號的數值範圍限制。

常用格式化代號與範圍

代號說明範圍
%d有號十進位整數-2,147,483,648 ~ 2,147,483,647 (2^31)
%u無號十進位整數0 ~ 4,294,967,295 (2^32-1)
%f / %F浮點數(本地化/非本地化)-3.4E38 ~ +3.4E38
%b二進位-
%c字元-
%o八進位-
%s字串-
%x / %X十六進位(小寫/大寫)-

建議

資料庫 ID 可能超過 %d 範圍,建議使用 %.0f 格式化浮點數並無條件捨去小數,避免溢位錯誤。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved