[英]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.