2012-07-29 113 views
0

我收到以下错误:直到你解决这个错误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 ...

+0

你的'foreach()'循环不能以这种方式使用。 – David 2012-07-29 15:19:46

+0

“。”运算符用于连接字符串。你已经连接了foreach的外观,这是一个语法错误。 – Ifthikhan 2012-07-29 15:22:51

回答

1

那是因为你不能拥有的foreach一个要添加到字符串(如您案)的一份声明中构建。你需要像下面这样的东西:

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

是的,这是工作..谢谢 – user1405674 2012-07-29 15:25:38

3

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

你将不得不事情分手了,是这样的:

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