0

我有以下代码:

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>';

}

第一个循环通过活动监视器 api 拉入收件人电子邮件地址列表,第二个循环拉入已取消订阅的人。

我的问题是,有 100 个订阅者被拉入,目前其中 1 个已取消订阅。那 1 个取消订阅者循环了 100 次,并且显然会显示出来。

我将如何调整上述内容以使其取消订阅者不会显示多少次有订阅者。

4

2 回答 2

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 数组中,它只会在第二列中输出电子邮件

于 2013-07-16T09:40:03.467 回答
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>';
}
于 2013-07-16T09:37:02.803 回答