【问题标题】:find specific element from the JSON using php [duplicate]使用 php 从 JSON 中查找特定元素 [重复]
【发布时间】:2014-07-18 05:35:02
【问题描述】:

我正在使用 php 服务器实现 GCM。 我得到了 JSON 格式的响应,如下所示:

{"multicast_id":5500424824887517718,"success":1,"failure":1,"canonical_ids":1,"results":[{"message_id":"0:1401303281549959%31e4cc17f9fd7ecd","registration_id":"APA91bGiXGz2KgfS1kELa7YM4VEEnnAk1H2_isOnWzJ0lNCJEmICQhjWaxQXJ0riZatG1LvZSRUYMNHF"},{"error":"NotRegistered"}]}  

现在从 JSON 中,我必须检查响应中是否有任何错误。我不知道如何检查。

编辑: 我已经了解如何访问“错误”字段。但现在错误是我无法访问“registration_id”字段。 我只需要检查这个“registration_id”字段是否存在于任何“结果”索引中?

请帮助我解决同样的问题。

提前致谢。

【问题讨论】:

    标签: php json google-cloud-messaging


    【解决方案1】:

    查看 PHP 的 json_decode 函数。这会将 JSON 转换为 PHP 数组,您可以在其中查询错误。

    http://www.php.net/manual/en/function.json-decode.php

    编辑

    $php_array = json_decode('{...}');  // Turn JSON into PHP array
    $results = $php_array['results'];
    foreach($results as $result) {  // Loop through results
        if (array_key_exists('registration_id', $result)) {  // Check if entry has a registration_id
            $registration_id = $result['registration_id'];  // Record registration_id
        }
    }
    

    【讨论】:

    • 我已经完成了那部分。我面临的问题是我无法检查名为“registration_id”的字段是否存在于“results”数组的任何索引中。如果是,我必须保存那个位置。
    • @AkshaySethi 你还在使用 json_decode,我更新了我的回复
    猜你喜欢
    • 1970-01-01
    • 2016-10-05
    • 2011-01-19
    • 1970-01-01
    • 2020-06-24
    • 2022-12-01
    • 2021-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多