簡體   English   中英

使用PHP在文本文件中顯示相同的單詞

[英]Display same word in text file using PHP

我有如下文本文件:

text.txt

lebuzzdesbonsplans.com;hotmail.com;26608;828;3.11
lebuzzdesbonsplans.com;hotmail.fr;24798;876;3.53
friendcorp.fr;yahoo.fr;11343;0;0
friendcorp.fr;free.fr;9856;12;.12
friendcorp.fr;wanadoo.fr;9283;1;.01
messengear.fr;free.fr;9090;11;.12
messengear.fr;laposte.net;8107;2;.02
....................................
....................................

PHP代碼:

<?php
            $PMTA_FILE = file_get_contents("text.txt");
            $lineFromText = explode("\n", $PMTA_FILE);
            $title = "";
            $domain = "";
            foreach($lineFromText as $line){                    
                    $data = explode(";",$line);
                    $domain = $data[0];
                    if (array_key_exists($domain, $domains_seen)){
                        continue;

                    }
                 $domains_seen[$domain] = true; 
                 echo $domain;
                 echo "<br>";
                 echo $data[2]; 
                 echo "<br>";   
          }


?>

但是這段代碼的結果是:

lebuzzdesbonsplans.com 
26608
friendcorp.fr
11343
messengear.fr
9090

我不想要上面的結果,我需要下面的結果:

lebuzzdesbonsplans.com 
26608
24798
friendcorp.fr
11343
9856
9283
messengear.fr
9090
8107

有人知道嗎請幫助我獲得解決方案。

您可以使用

$lines = array_reduce(file("text.txt", FILE_IGNORE_NEW_LINES), function ($a, $b) {
    $b = str_getcsv($b, ";");
    $a[$b[0]][] = $b[2];
    return $a;
});


foreach($lines as $k => $values)
{
    echo $k,PHP_EOL;
    echo implode(PHP_EOL, $values);
    echo PHP_EOL;
}

產量

lebuzzdesbonsplans.com
26608
24798
friendcorp.fr
11343
9856
9283
messengear.fr
9090
8107
natsort($lineFromText);
foreach($lineFromText as $line){                    
    $data = explode(";",$line);
    $domain = $data[0];
    if (!array_key_exists($domain, $domains_seen)){
        echo $domain;
        echo "<br>";
    }
    echo $data[2]; 
    echo "<br>";   
    $domains_seen[$domain] = true; 
}

更新:首先對行進行排序-這樣,所有域都將被收集在一起,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM