dongqiuqiu4736 2011-12-13 08:23
浏览 194
已采纳

不能使用stdClass类型的对象作为数组

i have sometimes following error Fatal error: Cannot use object of type stdClass as array in.. with this function:

function deliciousCount($domain_name)
{
    $data = json_decode(
        file_get_contents(
            "http://feeds.delicious.com/v2/json/urlinfo/data?url=$domain_name"
        )
    );
    if ($data) {
        return $data[0]->total_posts;
    } else {
        return 0;
    }
}

$delic = deliciousCount($domain_name);

but this error happen sometimes only for specific domains any help?

  • 写回答

5条回答 默认 最新

  • dpwh11290 2011-12-13 09:33
    关注
    function deliciousCount($domain_name) {
        $data = json_decode(
            file_get_contents(
                "http://feeds.delicious.com/v2/json/urlinfo/data?url=$domain_name"
            )
        );
        // You should double check everything because this delicious function is broken
        if (is_array($data) && isset($data[ 0 ]) &&
            $data[ 0 ] instanceof stdClass  && isset($data[ 0 ]->total_posts)) {
            return $data[ 0 ]->total_posts;
        } else {
            return 0;
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 MATLAB中streamslice问题
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端