Foreach重复回声问题

时间:2013-03-30 05:43:09

标签: php foreach

我有一个foreach,它基本上列出了客户端的用户名,密码和包。 现在我有一个完美的运行但它仍然显示一些用户3次由于某种原因,其获取所有信息的数据文件没有客户端3次。 所以由于某种原因,foreach echo显示相同的值或用户3次然后继续。 而且它只有一些用户不是全部。 (数据源中没有重复项)请帮助:)

代码:

foreach ($info->accountswithinfo->account as $realminfo):

$uncapped=$realminfo->isuncapped;

if ($uncapped=='False')
{
    $username=$realminfo->username; 
    $password=$realminfo->password;
    $packagename=$realminfo->{'package-name'};

    $for=$realminfo->cap;

    $cap=Round(("$for") / (1024 * 1024 * 1024), 2);
}
?>
<tr>
    <?php
    echo '<td class="blockcontentwhite sessionicon">',
         '<td class="blockcontentwhite center">' . ("$username") . '</td>',
         '<td class="blockcontentwhite center">' . ("$password") . '</td>',
         '<td class="blockcontentwhite center">' . ("$cap GB") . '</td>',
         '<td class="blockcontentwhite center">' . ("$packagename") . '</td>';
    endforeach;
    ?>

2 个答案:

答案 0 :(得分:1)

您正在循环的每次迭代中显示用户名,密码和其他信息。但是,您只需更改$uncapped=='False'的用户名,密码和其他信息。

在某些情况下,$uncapped可能是除'False'以外的值,这会导致用户名,密码和其他信息未设置为新值。然后,您的循环将输出存储在循环的上一次迭代中的值(每当上次$uncapped=='False'时)。

此问题的一种可能解决方案是将值和输出的赋值包装在相同的if条件中。

答案 1 :(得分:0)

结束我的if语句的}括号应该在我的值的回声

之后
'<td class="blockcontentwhite center">' . ("$packagename") . '</td>';

} //like this
endforeach;