从facebook graph api检索位置时,数组到字符串转换错误

时间:2016-07-21 18:08:38

标签: codeigniter facebook-graph-api multidimensional-array foreach

使用facebook登录时控制器的代码。在这里,在请求位置时,我确实从facebook获得了价值。但问题是当我在视图页面上提供位置信息时我只需要名称而不是id。它表示数组到字符串转换的错误。

{
"id": "1069347886434951",
"name": "Saugat Thapa",
"location": {
"id": "106085869430478",
"name": "Kathmandu, Nepal"
   }
}



public function web_login()
{
    $data['user'] = array();

    // Check if user is logged in
    if ($this->facebook->is_authenticated())
    {
        // User logged in, get user details
        $location= $this->facebook->request('get', '/me?fields=location{id,name}');
        if (!isset($user['error']))
        {
            $data['location'] = $location;
        }

    }

    // display view
    $this->load->view('examples/web', $data);
}

在视图

 <?php foreach ($location as $key => $value) : ?>

                <li><?php echo $key; ?> : <?php echo $value; ?></li>

            <?php endforeach; ?>

1 个答案:

答案 0 :(得分:1)

将此<?php echo $value; ?>更改为此<?php echo $value['name']; ?>

代码进入

<?php  break; ?> // break

断开循环,因为数组中的下一个元素是一个字符串,它会产生错误illegal string offset,因为你只想要名字就可以了