繁体   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