Foreach循环 - 接收重复

时间:2014-06-20 11:06:20

标签: php

想知道是否有人可以帮助我以下。我创建了一个foreach循环来显示当前页面的所有子页面。这很有效。

然后我尝试根据当前登录用户是否为所有者来显示每个孩子的不同文本。这是有效的,除了在每次循环迭代时,先前的结果都是在当前循环之前添加的。

<?php 

    $results = $page->children;

    foreach($results as $reply) { 

        //Bottom post buttin display options - Reply
        if ($reply->createdUser->name == $user->name){

            $bottom_options_reply .= "<p> This is the current owner</p>";

        }

        else  {

            $bottom_options_reply .= "<p> This is not the owner </p>";
        }

        //Theme each topic                   
        echo " 

    <div class='panel panel-default'>

                <div class='panel-body'>
                     <div class='col-md-3'>
                        {$avatar_profile_logo}
                        {$reply->createdUser->name}
                     </div>
                     <div class='col-md-6'>
                        {$reply->body}
                     </div>
                </div>


            <div class='panel-footer'>

                {$bottom_options_reply}

            </div>


    </div>
        ";
?>

下面是输出的屏幕截图。 enter image description here

3 个答案:

答案 0 :(得分:3)

 $bottom_options_reply .= "<

这就是你的错误。对于每个循环,您可以添加$ bottom_options_reply变量 将其更改为:

$bottom_options_reply = "< // note the missing . 

答案 1 :(得分:1)

$bottom_options_reply每次都会在foreach

中追加

尝试:

   //Bottom post buttin display options - Reply
   $bottom_options_reply  = ''; //this to reset
   if ($reply->createdUser->name == $user->name){

或删除.,如果您不打算将该变量用于其他任何内容

答案 2 :(得分:0)

这是因为你进行了连接。您重新初始化以在循环开始时清空变量$ bottom_options_reply。

此致