简体   繁体   English

PHP语法错误需要帮助修复

[英]PHP syntax error need help to fix

I get the following error: 我收到以下错误:

there is a syntax error on line 2, code hinting may not work until you fix this error 在第2行上出现语法错误,除非您修复此错误,否则代码提示可能不起作用

Anyone can help me to fix this syntax error 任何人都可以帮助我修复此语法错误

Here is code: 这是代码:

$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>';

The error is under the line 2 and 13... 错误在第2行和第13行...

You can't use foreach in the way you do, as a product inside a string concatenation. 您不能像字符串串联中的产品那样使用foreach

You would have to split things up, something like this: 您将需要将其拆分,如下所示:

foreach((array)comments($page_id) as $comment)
 {
   $TMPL['comments'] .= .........

That is because you can not have foreach construct within a statement that appends to a string (as in your case). 这是因为您不能在附加到字符串的语句中使用foreach构造(如您的情况)。 You would need to have something like below: 您将需要具有以下内容:

$TMPL['comments'] .= '<div class="box shadow"></div><div class="comments">';
foreach (....){
    $TMPL['comments'] .= "more string..";
    $TMPL['comments'] .= "many more strings..";
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM