[英]Fix deprecated eregi function in php?
我目前正在使用 function 來確定字符串是否僅包含數字。 function is_numeric
通常可以工作,但如果字符串包含字母,它將中斷。 我正在嘗試這個:
function is_signedint($val)
{
$val = str_replace(" ", "", trim($val));
//line below is deprecated
$bool = eregi("^-?([0-9])+$",$val);
if($bool == 1)
return true;
else
return false;
}
無論如何,我想知道如何替換 eregi 線以符合 PHP6
preg_match("~^-?([0-9])+$~", $val);
只需添加分隔符
preg_match("/^-?([0-9])+$/i",$val);
不區分大小寫的i
作為結尾的修飾符
這里有幾個選項
if ($val === strval(intval($val)))
if ($val == intval($val))
我會使用第一種方法,因為它會檢查值和類型。 除非確實有必要,否則不應使用正則表達式(或者它可以將 10 多行代碼壓縮為 1 行)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.