Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解析Json对象PHP_Php_Android_Json_Parsing_Push - Fatal编程技术网

解析Json对象PHP

解析Json对象PHP,php,android,json,parsing,push,Php,Android,Json,Parsing,Push,我想解析以下Json对象: {"multicast_id":123456,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]} 我能够成功地解析成功、失败等的值,但在获取“error”-msg(“InvalidRegistration”)时遇到困难。 我这样访问它们: $b = json_decode($a, true); if($b['suc

我想解析以下Json对象:

{"multicast_id":123456,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]}
我能够成功地解析成功、失败等的值,但在获取“error”-msg(“InvalidRegistration”)时遇到困难。 我这样访问它们:

        $b = json_decode($a, true);
        if($b['success'] == 1){
            $result = true;
        }
$b['results']['error']
如何访问结果/错误部分

我试着这样做:

        $b = json_decode($a, true);
        if($b['success'] == 1){
            $result = true;
        }
$b['results']['error']
但它不起作用


提前感谢您的帮助。

使用
json\u decode
函数后,将生成具有以下结构的php数组:

Array
(
    [multicast_id] => 123456
    [success] => 0
    [failure] => 1
    [canonical_ids] => 0
    [results] => Array
        (
            [0] => Array
                (
                    [error] => InvalidRegistration
                )

        )

)
这意味着要访问
结果
数组中的
错误
键,您需要键入
$b['results'][0]['error']
。当然,这不是最佳方法,除非您知道
results
数组中总是有一个索引。如果存在数量未知的索引(
[0]
[1]
[2]
[n]
),最好创建一个循环并遍历每个索引