看看以下代码:
$a = json_decode('{"0":"xy"}', true);
这将返回一个关联数组,如[0 => "xy"]
。
有没有办法不自动将密钥转换为数字?我希望得到的结果是数组["0" => "xy"]
,其中字符串仅作为键。
答案 0 :(得分:2)
首先将其解码为对象(不带true
参数),然后将其类型化为数组:
$a = (array) json_decode('{"0":"xy"}');
var_dump($a);
输出继电器:
array (size=1)
'0' => string 'xy' (length=2)
答案 1 :(得分:0)
不确定为什么要将数组数组键作为字符串。当尝试通过键搜索数组或重新键入数组时,它会使生活变得更加困难。
但是,如果你真的希望你的密钥成为字符串,这应该有帮助
$array = json_decode('{"0":"xy"}', true);
foreach($array as $key => $value) {
$newArray[(string) $key] = $value;
}