PHP json_encode将数字编码为字符串
我在使用PHP json_encode函数时遇到问题。它将数字编码为字符串,例如
array('id' => 3)
变成
"{ ["id": "3", ...)
当js遇到这些值时,它将它们解释为字符串,并且对它们的数字运算失败。有谁知道某种防止json_encode
将数字编码为字符串的方法?谢谢!
回答:
我做了一个非常快速的测试:
$a = array( 'id' => 152,
'another' => 'test',
'ananother' => 456,
);
$json = json_encode($a);
echo $json;
如果我没记错的话,这似乎就像你所描述的那样?
我得到的输出:
{"id":152,"another":"test","ananother":456}
因此,在这种情况下,整数尚未转换为字符串。
不过,这可能取决于我们使用的PHP版本:根据PHP版本,已经纠正了几个与json_encode相关的错误…
此测试已使用PHP 5.2.6进行;我在PHP 5.2.9和5.3.0中得到了同样的东西;我没有另一个5.2.x版本可以测试,尽管:-(
您正在使用哪个版本的PHP?还是您的测试用例比您发布的示例更复杂?
以上是 PHP json_encode将数字编码为字符串 的全部内容, 来源链接: utcz.com/qa/431195.html