PHP: Как обнаружить дублирующуюся информацию, обработанную из файла? - PullRequest
0 голосов
/ 08 мая 2011

У меня есть текстовый файл с кучей текста вроде:
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: ipaddress
Имя: имя пользователя

У меня вопрос ... как предотвратить повторяющиеся записи, когда в файле появляется такое же вхождение?

1 Ответ

1 голос
/ 08 мая 2011

Если файл не слишком большой и / или это локальный скрипт.Я бы назвал 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
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...