[英]function to check if the value is int or float but not string in PHP
是否有任何內置函數來檢查值是否為數字,任何整數類型,例如int,float但不是字符串。 is_numeric對於“ 2”返回true。 我應該同時通過is_int和is_float進行檢查嗎?
$ 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;
}
如果您認為數字的字符串版本仍然是數字,則預匹配可以在此處很有用。
你說
但不是字符串
但這是否意味着此'string'
或此'10'
而不是例如10
。 也是數字的字符串?
可能有很多方法可以做到這一點,但是有一些極端的情況,所以這在很大程度上取決於您的需求。 例如, octet
是給您一個數字0777
還是指數12e4
甚至十六進制0xf4c3b00c
?
is_numeric($value) && !is_string($value)
這就是我想要的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.