json_encode 后转为数组 为什么根据键名取不到值呢?
问个小白的问题。。
- PHP code
$arr = array(34=>1,2=>3); $str = json_encode($arr); echo $str; $arr2 = (array)json_decode($str); echo ''; print_r($arr2); echo ''; var_dump($arr2['2']);
为什么索引数组转化的JSON encode 过来后 按照键值取取不到值呢?
我想取到$arr2['2']的值 要怎么取呢?
------解决方案--------------------
$arr2 = json_decode($str, 1);
------解决方案--------------------
默认转成对象。
------解决方案--------------------
如果想要强制生成PHP关联数组,json_decode()需要加一个参数true: