我收到以下错误:
第2行有语法错误,在您修复此错误之前,代码提示可能无效
任何人都可以帮我修复此语法错误
这是代码:
$TMPL['comments'] .= '<div class="box shadow"></div>
<div class="comments">'.foreach((array)comments($page_id) as $comment){.'
<div class="comment shadow effect">
<p class="left tip" title="'.$comment[username].' Said">
<img class="avatar" src="'.get_gravatar($comment[email],40).'" />
</p>
<p class="body right">'.nl2br($comment[comment]).'
<div class="details small">
<span class="blue">'.timeBetween($comment['time'],time()).'</span> · <a class="red" href="#" onclick="$(this).delete_comment('.$comment['id'].'); return false;">Remove</a>
</div>
</p>
</div>
'}'
</div>
<div class="add_comment">
<div class="write shadow comment">
<p class="left">
<img class="avatar" src="#" />
</p>
<p class="textarea right">
<textarea class="left" cols="40" rows="5"></textarea>
<input class="left" value="SEND" type="submit" />
</p>
</div>
<a onclick="$(this).add_comment('.$page_id.');return false;" class="right effect shadow" href="#">Add Comment</a>
</div>';
错误位于第2行和第13行......
答案 0 :(得分:3)
您不能像处理字符串连接中的产品一样使用foreach
。
你必须将事情分开,如下所示:
foreach((array)comments($page_id) as $comment)
{
$TMPL['comments'] .= .........
答案 1 :(得分:1)
这是因为你不能在附加到字符串的语句中使用foreach构造(如你的情况)。您需要具有以下内容:
$TMPL['comments'] .= '<div class="box shadow"></div><div class="comments">';
foreach (....){
$TMPL['comments'] .= "more string..";
$TMPL['comments'] .= "many more strings..";
}