0
$arr = array();
$arr[0] = "2a123";
$arr[1] = "2123";
$arr["other_option"] = "2123";

var_dump($arr);

$arr = json_encode($arr);

$arr = (array)json_decode($arr);

var_dump($arr);

var_dump( $arr[1]);
var_dump( $arr["1"]);

2 last var_dump 的输出是 NULL NULL,如果我们删除第 4 行 $arr["other_option"] = "2123"; 它会正确输出,但我不明白为什么!

4

1 回答 1

2

而不是类型转换为 array ,设置truejson_encode

当 TRUE 时,返回的对象将被转换为关联数组。

$arr = array();
$arr[0] = "2a123";
$arr[1] = "2123";
$arr["other_option"] = "2123";
$arr = json_encode($arr);   
$arr = json_decode($arr,true);
var_dump( $arr['other_option']); // return 2123

working DEMO

于 2012-08-10T09:31:56.190 回答