将stdClass强制转换为数组时出错

时间:2015-02-09 07:04:39

标签: php arrays casting key

当我将stdClass转换为这样的数组时:

$a = (array)json_decode('{"0":{}}');
print_r($a);
print_r($a[0]); // This causes error

输出结果为:

Array
(
    [0] => stdClass Object
        (
        )

)
  

注意:未定义的索引: [...] [...] 上的0    3

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:下面是如何在php中使用json_decod的解释

$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
$t = json_decode($json, true);
echo $t['c'];

说明:

  

var_dump(json_decode($ json)); 为您提供这样的数组。

object(stdClass)[2]
public 'a' => int 1
public 'b' => int 2
public 'c' => int 3
public 'd' => int 4
public 'e' => int 5

要访问这些值。

$t = json_decode($json, true);
echo $t['a']; // output 1
echo $t['c']; // output 3