PHP语法错误需要帮助修复

时间:2012-07-29 15:17:11

标签: php

我收到以下错误:

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

2 个答案:

答案 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..";
}