我使用此代码获取有关朋友的信息
<?php
$fql = "SELECT uid, name, pic_square FROM user WHERE uid = me() OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) ";
$fUIDS = $facebook->api(array(
'method' => 'fql.query',
'query' =>$fql,
));
print_r($response);
?>
现在我需要以这种方式显示结果
echo '<img src="'.$response['pic_square'].'"/>';
但它没有用,所以我做了这个
$fql = "SELECT pic_square FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) ";
$fPics = $facebook->api(array(
'method' => 'fql.query',
'query' =>$fql,
));
$i=count($fPics);
echo 'Total '.$i.' entries found !<br/>'; // this lines shows 10 as expected :)
for ($x=0;$x<$i;$x++)
echo '<img src="'.$fPIcs[$x].'"/>';
现在它显示Array
10次,出了什么问题?
答案 0 :(得分:2)
当PHP打印Array
时,这意味着它试图将数组转换为字符串。
$fPics
很可能是一个数组数组,而不是一个字符串数组。
尝试拨打print_r($fPics)
,我打赌你会看到每个元素实际上是一个带有单个密钥的数组pic_square
和一个值 - 图像的URL,这是什么你想要的。
如果是这样,这意味着您的循环可以更改为引用该数组元素:
foreach($fPics as $row) {
echo '<img src="', htmlspecialchars($row['pic_square']), '">';
}
答案 1 :(得分:0)
可能是因为那是多维数组。 要确保使用以下方法: print_r,var_dump()或var_export()
Theres显示您的变量包含。