どのようにするにはエコー複数のアレイ - PHP

詰めガブリエル:

私は電子メールのリストを持っており、各電子メールのドメイン名と各ドメインのDNS_MXを抽出したいです。ここで私が持っているコードです:

<?php
$emaillist = file('list.txt');
foreach ($emaillist as $x) {
    $domain = substr(strrchr($x, "@"), 1);
    $mx = dns_get_record($domain, DNS_MX);
    foreach ($mx as $key1) {
        $mxtarget = $key1['target'];
    }
    echo "$mxtarget <br>";
}
?>

問題:私はエコー場合は$ mxtargetを、それはリストの最後のメールの値のみをエコーが、その前に電子メールのリストをエコーしません。私はエコー場合は、ドメインを、リスト上のすべてのメールのドメインをエコーします。

thingEvery:

あなたのecho文は、あなたの外側にあるforeachループ。確定echo内側ループ内では、時間の各MXのいずれかをエコーします。

あなたではなく1つのコマンドで一度に全てをエコーし​​たい場合は、ループ内の変数にそれらを収集して、リスト全体をエコー。

編集:

それは現在フォーマットされていますようにテキストファイルを処理するには、まず、配列の各要素から改行を削除する必要があります。

<?php
  $emaillist = file('https://cardguard.xyz/tools/list.txt');

  foreach ($emaillist as &$email) {
    $email = str_replace(array("\r", "\n"), '', $email);
  }

  foreach ($emaillist as $x) {
    $domain = substr(strrchr($x, "@"), 1);
    $mx = dns_get_record($domain, DNS_MX);
    //$mxtarget = "";
    foreach ($mx as $key1) {
        $mxtarget = $key1['target']; 
        echo "$mxtarget. \n";
    }
  }
?>

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=278504&siteId=1