观察下面这个小脚本:
$array = array('stuff' => 'things');
print_r($array);
//prints - Array ( [stuff] => things )
$arrayEncoded = json_encode($array);
echo $arrayEncoded . "<br />";
//prints - {"stuff":"things"}
$arrayDecoded = json_decode($arrayEncoded);
print_r($arrayDecoded);
//prints - stdClass Object ( [stuff] => things )
为什么PHP要把JSON对象变成一个类?
如果数组是json_encoded
然后是json_decoded
,难道不应该产生完全相同的结果吗?
发布于 2010-02-17 23:38:18
在https://secure.php.net/json_decode上仔细查看json_decode($json, $assoc, $depth)
的第二个参数
发布于 2010-02-17 23:38:38
$arrayDecoded = json_decode($arrayEncoded, true);
给你一个数组。
发布于 2016-12-01 03:40:04
但是,如前所述,您可以在此处添加第二个参数,以指示您希望返回一个数组:
$array = json_decode($json, true);
许多人可能更喜欢对结果进行转换:
$array = (array)json_decode($json);
阅读起来可能会更清晰。
https://stackoverflow.com/questions/2281973
复制相似问题