我想将这些类型的值“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
$data = ["1","2","3","4","5"];
echo json_encode($data, JSON_NUMERIC_CHECK);
?>
其他回答
您通常不需要这样做,因为在大多数情况下,PHP会强制您使用类型。对于确实要显式转换类型的情况,请将其强制转换为:
$num = "3.14";
$int = (int)$num;
$float = (float)$num;
除了Boykodev的回答,我还建议:
Input Output
'2' * 1 2 (int)
'2.34' * 1 2.34 (float)
'0.3454545' * 1 0.3454545 (float)
你总是可以加零!
Input Output
'2' + 0 2 (int)
'2.34' + 0 2.34 (float)
'0.3454545' + 0 0.3454545 (float)
您只需将0添加到字符串中,即可将其转换为数字,而不会丢失初始原始值。举个例子:
dd('0.3454545' + 0)
PHP将为您处理转换,或者按照已经建议在字符串前添加+。
是的,PHP中有一个类似的方法,但它鲜为人知,所以你很少听说它。它是一个叫做“身份”的算术运算符,如下所述:
算术运算符
要将数字字符串转换为数字,请执行以下操作:
$a = +$a;