如果我在檢查一個變量,看它是否是在bash整數編碼將類似於我怎麼能在PHP檢查變量的整數值
if ! [[ "$yournumber" =~ ^[0-9]+$ ]] ; then
是否有辦法PHP來檢查變量是否包含整數?
謝謝大家我想我需要澄清,我想評估一下,數字沒有十進制值的例子是nuber 1對1.2或任何其他小數點後面的值。 在此先感謝。
如果我在檢查一個變量,看它是否是在bash整數編碼將類似於我怎麼能在PHP檢查變量的整數值
if ! [[ "$yournumber" =~ ^[0-9]+$ ]] ; then
是否有辦法PHP來檢查變量是否包含整數?
謝謝大家我想我需要澄清,我想評估一下,數字沒有十進制值的例子是nuber 1對1.2或任何其他小數點後面的值。 在此先感謝。
完全相同的方式:if(preg_match("/^[0-9]+$/",$yournumber))
另外,試試這個:if(strval(intval($yournumber)) === strval($yournumber))
如果$ var是一個字符串,這將返回false:is_int(「23」)=== false – zeebonk
您可以使用ctype_digit
此:
if (ctype_digit($yournum)) {
// ...
}
PHP文件:
檢查是否所有提供的字符串中的字符,文本,是數字。
這不包括.
,如其示例所示(在我鏈接的頁面上)。
還有is_numeric()
,真的取決於你想要做什麼。
謝謝你的作品。 – user1683269
沒問題,歡迎來到Stackoverflow。通常,當問題解決後,您必須按下帖子左側的灰色/綠色複選標記,以幫助您解決問題。 – dnLL
這不是答案。正如[docs](http://php.net/manual/en/function.is-numeric.php)所述; 「查找給定的變量是否爲數字,數字字符串由可選符號,**任意數字**,可選小數部分和可選指數部分組成,因此+ 0123.45e6是一個有效的數值,十六進制(例如0xf4c3b00c)和二進制(例如0b10100111001)表示法是不允許的。「如果你想找到整數,你需要[ctype_digit](http://php.net/manual/en/function.ctype-digit.php)。 –
對於自然數(非負整數),請使用ctype_digit
,正如其他人所建議的那樣。 對於包括底片在內的整數,您可以使用此圖案:/\-?\d+/
。
['ctype_digit'](http://us.php.net/ctype_digit)可能會比regexps更快。 – DCoder