我一直在研究我的应用程序的关键字检测部分,除了 $ msg 之外,它似乎都很好用我只能读取一个结果,这是第一个消息
我正试着让它读完整个数组。
如果我做 var_dump ,结果就在那里,我只是不确定如何读取数组。
try {
$me = $facebook->api('/me');
$fql = "SELECT message FROM status WHERE uid= me()";
$param = array(
'method' => 'fql.query',
'query' => $fql,
'callback' => ''
);
$fqlResult = $facebook->api($param);}
} catch (FacebookApiException $e) {
}
foreach($fqlResult as $row){
$abt = strtolower($row['about_me']);
$qts = strtolower($row['quotes']);
$msg = strtolower($row['message']);//This one is causing trouble!
$cursewrds = $abt . $msg . $qts . $status;
$keywords = array("test","curse","words);
$regex ="/(". implode('|', $keywords) .")/";
$total = (preg_match_all( $regex, $cursewrds, &$matches));
当我为$ msg执行fql查询时,看看数组的样子。
[
{
"message": "test 1"
},
{
"message": "test 2"
},
{
"message": "test 3"
},
{
"message": "test 4"
}
]
P.S。我不是最好的PHP,但如果我在这里,我已经尝试了我能想到的一切。
答案 0 :(得分:1)
不确定你在那里发生了什么,但问题似乎是你的foreach循环在错误的地方。尝试:
foreach($fqlResult as $row){
$abt = strtolower($row['about_me']);
$qts = strtolower($row['quotes']);
$msg = strtolower($row['message']);//This one is causing trouble!
$cursewrds = $abt . $msg . $qts . $status;
$keywords = array("test","curse","words);
$regex ="/(". implode('|', $keywords) .")/";
$total = (preg_match_all( $regex, $cursewrds, &$matches));
$messages[] = $msg;
}
答案 1 :(得分:0)
您复制并粘贴了此代码?
第9行末尾有一个额外的闭合花括号。
也许你移动了foreach语句,现在你没有正确地终止它,这就是为什么你只得到foreach循环的一次迭代?