我想将这些类型的值“3”、“2.34”、“0.234343”等转换为数字。在JavaScript中,我们可以使用Number(),但在PHP中有没有类似的方法?
Input Output
'2' 2
'2.34' 2.34
'0.3454545' 0.3454545
我想将这些类型的值“3”、“2.34”、“0.234343”等转换为数字。在JavaScript中,我们可以使用Number(),但在PHP中有没有类似的方法?
Input Output
'2' 2
'2.34' 2.34
'0.3454545' 0.3454545
当前回答
是的,PHP中有一个类似的方法,但它鲜为人知,所以你很少听说它。它是一个叫做“身份”的算术运算符,如下所述:
算术运算符
要将数字字符串转换为数字,请执行以下操作:
$a = +$a;
其他回答
您可以使用:
(int)(your value);
或者您可以使用:
intval(string)
有几种方法可以做到这一点:
将字符串强制转换为数字基元数据类型:$num=(int)“10”;$num=(double)“10.12”;//与(浮动)“10.12”相同;对字符串执行数学运算:$num=“10”+1;$num=地板(“10.1”);使用intval()或floatval():$num=intval(“10”);$num=浮动值(“10.1”);使用settype()。
$a = "10";
$b = (int)$a;
您可以使用它在PHP中将字符串转换为int。
您可以使用:
((int) $var) ( but in big number it return 2147483647 :-) )
但最好的解决方案是使用:
if (is_numeric($var))
$var = (isset($var)) ? $var : 0;
else
$var = 0;
Or
if (is_numeric($var))
$var = (trim($var) == '') ? 0 : $var;
else
$var = 0;
您不必选择是将字符串转换为int还是float,只需在其中添加一个0,PHP就会自动将结果转换为数字类型。
// Being sure the string is actually a number
if (is_numeric($string))
$number = $string + 0;
else // Let the number be 0 if the string is not a number
$number = 0;