我得到了关注:
"sendto": [
{
"userid": "1",
"username": "jagat",
"isAccepted": "NO"
},
{
"userid": "4",
"username": "Rahil",
"isAccepted": "NO"
}
]
我想在json响应中输出以下内容:
{{1}}
请帮帮我。感谢
答案 0 :(得分:0)
如果键不是从0开始的连续数字,PHP会将数组转换为json_encode
的对象,因为在javascript中数组没有键(它有索引),但在PHP中它可以。
在PHP中就是这样......
$data = [["foo" => "bar"],["baz" => "quix"],3=>["quax" => "quacks"]];
echo json_encode($data);
给你......
{ "0": { "foo": "bar" }, "1": { "baz": "quix" }, "3": { "quax": "quacks" } }
因此,如果您始终需要数组,则必须确保在使用json_encode
进行编码之前使用array_values
。
$data = [["foo" => "bar"],["baz" => "quix"],3=>["quax" => "quacks"]];
echo json_encode(array_values($data));
现在你得到......
[ { "foo": "bar" }, { "baz": "quix" }, { "quax": "quacks" } ]
因为数组键将返回0, 1, 2
,这意味着它们可以安全地序列化为JSON作为数组。否则,PHP假定您打算使用键"0", "1", "3"
创建一个对象。