2013-03-30 58 views
0

我有一個foreach,其中basicaly列出客戶端的用戶名,密碼和包。 現在我有一個完美的運行,但它繼續顯示一些用戶3次出於某種原因,其獲取所有信息的數據文件沒有客戶端3次。 因此,出於某種原因,foreach echo會顯示相同的值或用戶3次,然後繼續。 和它的唯一的一些用戶不是全部。 (有數據源無重複)請幫助:)重複回聲問題的foreach

代碼:

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; 
    ?> 
+0

的回聲你嘗試回聲/ print_r的什麼的'$信息 - > accountswithinfo-> account'裏面?可能有重複 – kennypu

+0

是的,沒有重複,即時100%肯定 –

+0

任何幫助球員請問? –

回答

0

的}托架結束我的if語句應該是經過我的價值觀

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

} //like this 
endforeach; 
1

您顯示的用戶名,密碼及其他在環的每一個迭代的信息。但是,如果您只更改用戶名,密碼和其他信息(如果$uncapped=='False')。

有些情況下,$uncapped可能是除'False'之外的值,這會導致用戶名,密碼和其他信息未設置爲新值。然後你的循環會輸出循環的前一次迭代中存儲的值(每當最後一次爲$uncapped=='False'時)。

此問題的一個可能的解決方案是將值和輸出的分配包裝在相同條件下。

+0

基本上每個值都做下面的事情? if($ uncapped =='False') { \t $ username = $ realminfo-> username; } –

+0

我已經用相同的條件包裹了每個值,並且發生了同樣的事情 –

+0

任何幫助球員請問? –