我在使用PHP json_encode函数时遇到问题。它将数字编码为字符串,例如
array('id' => 3)
变成
"{ ["id": "3", ...)
当js遇到这些值时,它将它们解释为字符串,并且对它们的数字运算失败。有谁知道某种防止json_encode将数字编码为字符串的方法?谢谢!
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?还是您的测试用例比您发布的示例更复杂?