我一直在寻找解决此问题的方法,但我尝试的所有内容都会返回相同的错误。
致命错误:无法使用stdClass类型的对象作为数组
这是我尝试使用PHP cURL访问的JSON资源: https://www.easports.com/iframe/fifa16proclubs/api/platforms/PS4/clubs/36881/members
我遇到的问题是访问原始数组。我已经成功地使用以下代码和对象,但是当涉及到数组时我总是遇到麻烦。
public function readBlog($url)
{
$q = $this->db->get_where('blog',array('blog_url'=>$url));
if($q->num_rows() > 0)
{
foreach ($q->result() as $item)
{
$val = $item->blog_read;
$val = $val+1;
$data = array('blog_read'=>$val);
$this->db->where('blog_url',$url);
$this->db->update('blog',$data);
}
}
}
public function getBlog($url)
{
$this->readBlog($url);
$q = $this->db->get_where('blog',array('blog_url'=>$url));
if($q->num_rows() > 0)
{
foreach ($q->result() as $item)
{
$data[] = $item;
}
return $data;
}
}
我知道这不是访问数组的正确方法,这是我需要帮助的。我希望能够访问原始数组,然后遍历数组中的所有对象。我已经查看了许多代码示例,但似乎没有任何代码适用于我的场景。
以上代码适用于此资源: http://www.easports.com/iframe/fifa16proclubs/api/platforms/PS4/clubsComplete/United
只是因为我访问了嵌套对象而且没有涉及数组[]。
任何帮助将不胜感激。谢谢!
答案 0 :(得分:1)
似乎foreach循环需要在$phpObj->raw
中的第一个(也是唯一的)数组上运行。
您需要将foreach更改为:
foreach ($object[0] as $obj)