PHP:如何检测从文件处理的重复信息


PHP: How to detect duplicate information processed from file?

>我有一堆文本文件,如下所示:

PLAYER_ENTERED name ipaddress username但这里还有其他文字

我的代码如下,用于提取 ipadress 和用户名:

$q = $_REQUEST["ipladder"];
$f = fopen("ladderlog.txt", "r");
while (($line = fgets($f)) !== FALSE)
{
    if (strstr($line, $q)) 
    {
        $data = explode(" ", $line); // split using the space into an array
                                     // array index 0 = PLAYER_ENTERED
        print "IP:" . $data[1] . "<br>";      // array index 1 = IP
        print "Name: " . $data[2];   // array index 2 = name
    }
}

输出为:
IP:IP地址
名称:用户名

我的问题是...当文件中出现相同的情况时,如何防止重复条目?

如果文件不是太大和/或这是一个本地脚本。我会调用file()将行作为数组获取,然后array_unique().然后,您可以遍历此数组以仅打印唯一项。

$q = $_REQUEST["ipladder"];
$f = file("ladderlog.txt");
$f = array_unique($f);
foreach($f as $line)
{
    if (strstr($line, $q)) 
    {
        $data = explode(" ", $line); // split using the space into an array
                                     // array index 0 = PLAYER_ENTERED
        print "IP:" . $data[1] . "<br>";      // array index 1 = IP
        print "Name: " . $data[2];   // array index 2 = name
    }
}