json_encode()会自动将数组转换成对象

9

当我使用PHP中的json_encode()编码数组时,一切都进行得很顺利,但是当我使用json_decode()解码时,它给我返回了一个stdClass对象而不是一个数组。 这是我的代码:

echo $json=json_encode(array('a'=>1,'b'=>2));
echo '<br>';
print_r(json_decode($json));

// and the result of PHP script is :
{"a":1,"b":2}
// stdClass Object ( [a] => 1 [b] => 2 )

如何将数组转换为对象?

我可以将JSON编码的字符串传递到URL中以便在另一个页面获取数据吗?或者存在任何函数可以进行一些URL编码吗?


欢迎来到Stackoverflow。花几秒钟阅读手册条目就可以避免麻烦地提问了。 - Boaz
1个回答

13

json_decode()需要一个额外的参数来解码为数组。

json_decode($json, true)


我可以将JSON编码的字符串传递到URL中,在另一个页面上获取数据吗?或者存在任何可以进行URL编码的函数吗? - viral
你想要将它一起使用,它将会像urlencode((json_decode($json, true))一样工作。 - Anriëtte Myburgh
但是,如果传递一个多维对象数组呢?它会递归地将对象转换为数组。 - Pupil

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接