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

回到顶部