我必须将PHP数组json_encode编码为JavaScript数组。不幸的是,如果我使用的jQuery库包含int而不是字符串,则无法正确处理该数组。
大多数情况下,这将产生仅包含字符串的适当数组:
json_encode($data)
即使$ data仅包含数字,我通常也会得到这个
["3","7","8"]
但是有时候,我得到这样的结果(注意零):
["9691","1792","26","1","4","15",0,"1"]
或这个
[16171,15470,10390,7585]
(请注意,这显然是不同的数据以说明正在发生的事情)。我需要强制json_encode将数组值视为字符串。我知道有相反的选项JSON_NUMERIC_CHECK强制执行数字。难道真的不存在吗?似乎我唯一的选择是在JavaScript端再次处理该数组,虽然可能,但在某种程度上破坏了我的对象的封装。
如果有相反的JSON_NUMERIC_CHECK说法,那就好了,但是看起来好像不一样。
JSON_NUMERIC_CHECK
为什么不能在编码之前确保php中的数据类型正确?
这可能意味着您必须手动将其转换为字符串…