解决方案 »

  1. file_get_contents对https使用貌似有个警告,你需要打开display errors才能看到
    这种问题一步步var_dump上一个变量就可以确定位置了
      

  2. 额知道为啥了,在$jsonStr["kf_online_list"]["kf_account"]那两个【】【】中间加上[0]=>jsonStr["kf_online_list"][0]["kf_account"]就行了,搜了一晚上啊。。
      

  3. print_r($data);看看decode後的數組結構,就不容易錯了。
      

  4. $status=array('0'=>'不在线','1'=>'电脑在线','2'=>'手机在线','3'=>'电脑手机在线');
    //$onlinestatus=$jsonStr["kf_online_list"][0]["status"];
    foreach ($jsonStr['kf_online_list'] as $list)
    {
    foreach ($list[kf_account] as $account)
    {
    foreach ($list[status] as $onlinestatus)
    {
    $statusStr0=$status[$onlinestatus];
    foreach ($list[accepted_case] as $jiedai)
    {
    $content.="客服:".$account."\n在线状态:"."$statusStr0"."\n正在接待人数:"."$jiedai"."\n\n";
    }
    }
    }
    }
    这是我又写的代码,在foreach ($list[kf_account] as $account)这一行出错了
    错误:Invalid argument supplied for foreach() ,这又怎么改呢亲们?
      

  5. $s =<<< JSON
    {
        "kf_online_list": [
            {
                "kf_account": "test1@test",
                "status": 1,
                "kf_id": "1001",
                "auto_accept": 0,
                "accepted_case": 1
            },
            {
                "kf_account": "test2@test",
                "status": 1,
                "kf_id": "1002",
                "auto_accept": 0,
                "accepted_case": 2
            }
        ]
    }
    JSON;
    $jsonStr = json_decode($s, true);$content = '';
    foreach($jsonStr['kf_online_list'] as $i=>$item) {
      $n = $i + 1;
      $content .= "
    客服{$n}:$item[kf_account]
    在线状态:$item[status]
    正在接待人数:$item[accepted_case]
    ";
    }
    echo $content;客服1:test1@test
    在线状态:1
    正在接待人数:1客服2:test2@test
    在线状态:1
    正在接待人数:2
      

类似问题 »