微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP json_encode将数字编码为字符串

如何解决PHP 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函数时遇到问题。它将数字编码为字符串,例如

array('id' => 3)

变成

"{ ["id": "3",...)

当js遇到这些值时,它将它们解释为字符串,并且对它们的数字运算失败。有谁知道某种防止json_encode将数字编码为字符串的方法?谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。