2013-07-16 2 views
0

у меня есть следующий код:PHP цикл по каждому элементу в пределах другого

foreach($result->response->Results as $entry) { 

    echo '<tr class="'. $entry->EmailAddress.'">';  
    echo '<td>'. $entry->EmailAddress.'</td>'; 

    echo '<td></td><td>'; 



foreach($unsubscribers->response->Results as $entry2) { 


echo $entry2->EmailAddress; } 

    echo '</td><td></td>'; 
    echo '<td></td>'; 
    echo '<td></td>'; 

    echo '</tr>'; 

} 

первый цикл тянет в списке получателей электронной почты с помощью монитора кампании апи, вторая петля тянет людей, которые отписались.

Моя проблема: есть 100 подписчиков, которые втянуты, и в настоящее время 1 из них отказался от подписки. Этот 1-й абонент переписывается через 100 раз и явно отображается.

Как бы я пошел на адаптацию выше, чтобы сделать это так, чтобы отменить подписку не показывалось, однако много раз есть подписчики.

+0

движение в отписывается из другой петли – DevZer0

+0

, но я хочу их в той же строке таблицы, порожденной первый цикл – danyo

ответ

2

Вы имеете в виду что-то вроде этого?

// Add the unsubscribers to an array 
$unsubs = array(); 
foreach($unsubscribers->response->Results as $entry2) { 
    $unsubs[] = $entry2->EmailAddress; 
} 

// Loop through the subscribers 
foreach($result->response->Results as $entry) { 

    echo '<tr class="'. $entry->EmailAddress.'">';  
    echo '<td>'. $entry->EmailAddress.'</td>'; 
    echo '<td></td><td>'; 

    // If the subscriber is in our unsubscriber array, output the email again 
    if(in_array($entry->EmailAddress, $unsubs)) { 
     echo $entry->EmailAddress; 
    } 

    echo '</td><td></td>'; 
    echo '<td></td>'; 
    echo '<td></td>'; 
    echo '</tr>'; 

} 

Он будет только выход электронной почты во второй колонке, если это абонент находится также в массиве unsubscribers

+0

безупречный спасибо! – danyo

1

Проверьте этот код, вероятно, он работает на вашем пути.

foreach($result->response->Results as $entry){ 

    echo '<tr class="'. $entry->EmailAddress.'">';  
    echo '<td>'. $entry->EmailAddress.'</td>'; 
    echo '</tr>'; 
} 

foreach($unsubscribers->response->Results as $entry2){ 
    echo '<tr class="'. $entry2->EmailAddress.'">';  
    echo '<td>'. $entry2->EmailAddress.'</td>'; 
    echo '</tr>'; 
} 
Смежные вопросы