0

我收到以下错误:

第 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 行下...

4

2 回答 2

3

您不能foreach以您的方式使用,作为字符串连接中的产品。

你必须把事情分开,像这样:

foreach((array)comments($page_id) as $comment)
 {
   $TMPL['comments'] .= .........
于 2012-07-29T15:19:25.070 回答
1

那是因为您不能在附加到字符串的语句中使用 foreach 构造(如您的情况)。你需要有如下的东西:

$TMPL['comments'] .= '<div class="box shadow"></div><div class="comments">';
foreach (....){
    $TMPL['comments'] .= "more string..";
    $TMPL['comments'] .= "many more strings..";
}
于 2012-07-29T15:20:06.507 回答