2012-07-29 105 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'] .= .........