0

我使用此代码获取有关朋友的信息

<?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次,有什么问题吗?

4

2 回答 2

2

当 PHP 打印Array时,这意味着它试图将数组转换为字符串。

很可能$fPics是数组数组,而不是字符串数组。

尝试调用print_r($fPics),我敢打赌,您会看到每个元素实际上是一个数组,其中包含一个键 、pic_square和一个值——图像的 URL,这就是您想要的。

如果是这样,这意味着您的循环可以更改为引用该数组元素:

foreach($fPics as $row) {
    echo '<img src="', htmlspecialchars($row['pic_square']), '">';
}
于 2011-04-07T05:33:29.443 回答
0

可能是因为那是多维数组。确保使用以下方法:print_r、var_dump() 或 var_export()

Theres show your variable consist of.

于 2011-04-07T05:38:01.843 回答