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()

変数がで構成されていることを示しています。

于 2011-04-07T05:38:01.843 に答える