当前位置: 首页 > 面试题库 >

强制json_encode创建字符串

公冶高义
2023-03-14
问题内容

我必须将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说法,那就好了,但是看起来好像不一样。

为什么不能在编码之前确保php中的数据类型正确?

这可能意味着您必须手动将其转换为字符串…



 类似资料:
  • 问题内容: 因此,我有一个字符串数组,所有字符串都使用系统默认的 ANSI 编码,并从SQL数据库中提取。因此,存在256个不同的可能字符字节值(单字节编码)。 有没有一种方法可以使我工作并显示这些字符,而不必在我的所有字符串上使用并最终得到类似的东西? 还是这是JSON的标准? 问题答案: 有没有一种方法可以使json_encode()工作并显示这些字符,而不必在所有字符串上都使用utf8_en

  • 问题内容: 使用json_encode对数组进行编码时,包含特殊字符的数组元素将转换为空字符串: JSON编码后,元素[funds]为空。它只能使用特殊字符(如版权,商标等)进行,例如“ ComStageSTOXX®Europe600 Techn NR ETF”中的那些。 有什么建议么? 谢谢 更新:这是在填充数组之前解决问题的原因(所有名称均取自数据库): 问题答案: 您的输入必须编码为UTF-

  • 问题内容: 我有一个数组: 我想创建的另一个数组和其唯一的元素为x。 我已经试过这段代码: 但是它会产生一系列形状。 我当然可以做: 但我希望该解决方案能够轻松扩展到更大的形状,例如: 无需在所有索引上运行循环。 有什么建议可以做到这一点吗? UPD1 数组可能不同,如: 它们也可能具有不同的形状,但是对于那种情况,一个简单的构造函数就可以了 UPD2 我真的想要一种可以处理任意形状(不一定都一样

  • 我已经使用下面的命令从一个Docker文件构建了一个Docker映像。 当我试图用相同的命令重建它时,它使用的构建缓存如下所示: 缓存显示已安装aerospike。但是,我在从这个映像生成的容器中找不到它,所以我想在不使用缓存的情况下重建这个映像。如何强制Docker在没有缓存的情况下重建一个干净的映像?

  • 问题内容: 我有一个字符串形式: 依此类推(长度会有所不同)。由此创建字典的最简单方法是什么? 我知道我可以拆分,但是我无法获得正确的语法。如果我分开,那么我如何将这两个部分结合在一起? 对此进行迭代似乎很痛苦。 问题答案: 编辑:下一个解决方案是当您想要将值作为整数,我认为这是您想要的。

  • 问题内容: 我在使用PHP json_encode函数时遇到问题。它将数字编码为字符串,例如 变成 当js遇到这些值时,它将它们解释为字符串,并且对它们的数字运算失败。有谁知道某种防止将数字编码为字符串的方法?谢谢! 问题答案: 我做了一个非常快速的测试: 如果我没记错的话,这似乎就像你所描述的那样? 我得到的输出: 因此,在这种情况下,整数尚未转换为字符串。 不过,这可能取决于我们使用的PHP版