使用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; ?>
答案 0 :(得分:1)
将此<?php echo $value; ?>
更改为此<?php echo $value['name']; ?>
代码进入
<?php break; ?> // break
断开循环,因为数组中的下一个元素是一个字符串,它会产生错误illegal string offset
,因为你只想要名字就可以了