json_encode / json_decode – 在PHP中返回stdClass而不是Array

问题:

观察这个小脚本:

$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_encodedjson_decoded的数组产生相同的结果吗?

回答:

仔细看看http://docs.php.net/json_decode处的json_decode($json, $assoc, $depth)的第二个参数

 
 
Code问答: http://codewenda.com/topics/php/
Stackoverflow: json_encode/json_decode – returns stdClass instead of Array in PHP

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

55 − = 45