对不起这里的noobie问题,但我已经挣扎了一段时间。我正在开发一个应用程序,我正在尝试查询我的数据库,以便在朋友开始使用该应用程序时添加点数。我一直在使用这个FQL命令来查找使用该应用程序的朋友
SELECT uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=me()) AND is_app_user=1
这会将结果显示为已经使用该应用的朋友的UID数组。像这样(所有这些都是测试用户):
Array ( [0] => Array ( [uid] => 100003095627567 ) [1] => Array ( [uid] => 100003256239213 ) [2] => Array ( [uid] => 100003296198341 ) )
我遇到的问题是我需要用逗号(UID1,UID2,UID3)分隔的单个变量中的所有UID,这样我就可以查询数据库了。我已经尝试过ForEach命令,但那不起作用。任何帮助或建议的解决方法都会很好:)
答案 0 :(得分:0)
<?php
$a = array (
array ( 'uid' => '100003095627567' ),
array ( 'uid' => '100003256239213' ),
array ( 'uid' => '100003296198341' )
);
var_dump($a);
echo '<br/>'.PHP_EOL;
$v = array(); // (*)
foreach ($a as $u) { // (*)
$v[] = $u['uid']; // (*)
} // (*)
var_dump($v);
echo '<br/>'.PHP_EOL;
$uids = join(',', $v); // (**)
var_dump($uids);
?>
输出:
array(3){[0] =&gt; array(1){[“uid”] =&gt; string(15)“100003095627567”} [1] =&gt; array(1){[“uid”] =&gt; string(15)“100003256239213”} [2] =&gt; array(1){[“uid”] =&gt; string(15)“100003296198341”}}
array(3){[0] =&gt; string(15)“100003095627567”[1] =&gt; string(15)“100003256239213”[2] =&gt; string(15)“100003296198341”}
string(47)“100003095627567,100003256239213,100003296198341”