簡體   English   中英

PHP filter_var錯誤?

[英]PHP filter_var bug?

以下代碼成功地將字符串“0123.250”驗證為有效的浮點數,而不是。 這是一個PHP錯誤還是我做錯了什么?

filter_var('0123.250', FILTER_VALIDATE_FLOAT);

浮點文字PHP文檔

LNUM          [0-9]+
DNUM          ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
EXPONENT_DNUM [+-]?(({LNUM} | {DNUM}) [eE][+-]? {LNUM})

正如您所看到的,對於前導零沒有限制,如這些位所示: [0-9]*[\\.][0-9]+

由於頁面從未提及八進制,我們需要假設前導零在解釋中沒有區別。

假設FILTER_VALIDATE_FLOAT應用完全相同的規則。

前導0只是明確了千位的值為零的事實,這通常是由於缺少該位值的數字而暗示的。

如果你擔心前導零是一個非重要數字的事實,我不認為PHP遵循這個定義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM