首頁 >後端開發 >PHP問題 >php判斷字串是否為數字

php判斷字串是否為數字

(*-*)浩
(*-*)浩原創
2019-09-21 09:25:4721794瀏覽

php判斷字串是否為數字

is_numeric — 偵測變數是否為數字或數字字元(建議學習:PHP程式設計從入門到精通

<?php
$tests = array(
    "31", 
    1380, 
    "1e4", 
    "not numeric", 
    array(), 
    9.1
);

foreach ($tests as $element) {
    if (is_numeric($element)) {
        echo "&#39;{$element}&#39; is numeric", PHP_EOL;
    } else {
        echo "&#39;{$element}&#39; is NOT numeric", PHP_EOL;
    }
}
?>

程式運行結果:

&#39;31&#39; is numeric
&#39;1380&#39; is numeric
&#39;1e4&#39; is numeric
&#39;not numeric&#39; is NOT numeric
&#39;Array&#39; is NOT numeric
&#39;9.1&#39; is numeric

字串1e4 也被判定為數字了。

is_numeric函數不只支援10進位的數字,也支援16進位型別數字。所以在使用中驗證純自然數字如QQ號碼這樣的數字串,要配合 intval()整數化函數。

<?php
    $id = 0xff33669f;
    if (is_numeric($id)) 
    echo $id, &#39;符合要求。&#39;;//output 4281558687符合要求。
    else 
    echo $id, &#39;不符合要求。&#39;;
?>

如果需要判斷整數,可以使用 is_int()函數,以免發生一些字串也當成是合法數字的情況。

is_numeric能判定一個變數是否為數字或數字字串,但是它的判定範圍太寬了。整數、小數、指數表示以及16進制數值都會通過判斷。平常判定id的時候,用它就有點不合適。

今天發現一個新的判定函數:ctype_digit,它可以只判定整數,這樣就比is_numeric好一點。其他還有ctype_xdigit判定16進位整數,ctype_alpha判定字母等等函數。

以上是php判斷字串是否為數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn