我有一个多维数组,其中一些值是字符串,一些值是数字。当我将数组转换为 JSON 对象时,我得到如下所示的结果:
"A" : "1", "B" : "Text", "C" : "3"
目标是有一个看起来像这样的 JSON
"A" : 1, "B" : "Text", "C" : 3
之前,我通过在 JSON 编码后编辑 JSON 来完成此操作:
$JSON = preg_replace('/"(-?\d+\.?\d*)"/', '$1', json_encode($array));
但由于种种原因,这一直是个问题。
因此,相反,在将数组转换为带有 的 JSON 之前json_encode()
,我想逐步检查所有值并确保如果一个值是一个数字,那么他们为该值键入的类型从 更改string
为int
。
我知道我可以使用 settype() 命令在 PHP 中设置变量的类型:
settype(int, $variable);
我认为我需要将它与类似的命令结合起来array_walk()
,但我不知道如何以某种方式结合它,以便它进行测试以仅对数字起作用。
是否可以在 PHP 中搜索多维数组,查找仅包含数字的值并将它们转换为int
类型?