是否有任何內置函數檢查值是數字,在任何整數類型中,如int,float,而不是string。 is_numeric對於「2」返回true。我應該通過is_int和is_float來檢查它嗎?函數檢查值是int還是float但不是PHP中的字符串
,我想應該返回「無效值」的時候$ a和$ b都沒有號碼的功能:
function myFunction($a, $b, $sign){}
是否有任何內置函數檢查值是數字,在任何整數類型中,如int,float,而不是string。 is_numeric對於「2」返回true。我應該通過is_int和is_float來檢查它嗎?函數檢查值是int還是float但不是PHP中的字符串
,我想應該返回「無效值」的時候$ a和$ b都沒有號碼的功能:
function myFunction($a, $b, $sign){}
這不是一個答案本身,但這是太投入在註釋:如果你考慮一個數字的字符串版本仍然是一個數字
function isFloatOrInt($var)
{
$type = gettype($var);
switch ($type) {
case 'integer':
case 'double':
return true;
case 'string':
//check for number embedded in strings "1" "0.12"
return preg_match('/^[0-9]+(?:\.[0-9]+)?$/', $var);
default:
return false;
}
的Preg比賽都可以在這裏非常有用。
你說
但不串
但這是否意味着這個'string'
或本'10'
,而不是10
例如,即。一個字符串,也是一個數字?
可能有很多方法可以做到這一點,但也有一些邊緣案例,所以它主要取決於您的需求。例如是octet
一個數字給你0777
或指數12e4
甚至十六進制0xf4c3b00c
?
https://www.merriam-webster.com/dictionary/per%20se – localheinz
這絕對不是最簡單的解決方案。 – localheinz
不,但在某些情況下,'is_numeric'可以在不需要時返回一個數字,例如可以將其視爲指數的「102e8」。 – ArtisticPhoenix
'$數= is_int($值)|| is_float($ value)' – cgTag
謝謝,但PHP中是否有其他數字類型?像double或decimal? –
你爲什麼問我?閱讀說明書:http://php.net/manual/en/language.types.php – cgTag