За последние 24 часа нас посетили 55129 программистов и 1777 роботов. Сейчас ищут 907 программистов ...

Сравнение и запись в файл одинаковых строк

Тема в разделе "PHP для новичков", создана пользователем Kvandaik, 22 окт 2018.

  1. Kvandaik

    Kvandaik Новичок

    С нами с:
    5 июл 2018
    Сообщения:
    121
    Симпатии:
    1
    Есть 3 текстовых файла
    1 файл содержит
    127.0.0.3 familiya-in
    ..
    ..
    2 файл содержит
    00:25:00:0F:00:1A 127.0.0.3
    ..
    ..
    3 файл содержит
    192.168.10.2 00:25:00:0F:00:1A
    ..
    ..

    Нужно в итоге собрать
    familiya-in 00:25:00:0F:00:1A 192.168.10.2

    Может у кого есть подобная реализация?
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.816
    Симпатии:
    1.333
    Адрес:
    Лень
    где код ? не вижу чтобы старались
     
  3. Kvandaik

    Kvandaik Новичок

    С нами с:
    5 июл 2018
    Сообщения:
    121
    Симпатии:
    1
    Вот есть набросок, но чёт я не догоняю как он сравнивает, и то ли он сравнивает
    Код (Text):
    1.  
    2. <?php
    3. function readData($name) {
    4.   $res = [];
    5.   $handle = fopen($name, "r");
    6.   if ($handle) {
    7.     while (($str = fgets($handle, 4096)) !== false) {
    8.       $parsed = explode(' ', $str);
    9.       //print_r($parsed);
    10.       $res[$parsed[1]] = $parsed[0];
    11.       //print_r($res[$parsed[1]]);
    12.     }
    13.     fclose($handle);
    14.   }
    15.   return $res;
    16. }
    17.  
    18. $mac_list = readData('file2.txt');
    19. $ip_list = readData('file3.txt');
    20. $data = [];
    21. $handle = @fopen("file1.txt", "r");
    22. if ($handle) {
    23.    while (($buffer = fgets($handle, 4096)) !== false) {
    24.        // echo $buffer;
    25.        $parsed = explode(' ', $buffer);
    26.        $name=$parsed[0];
    27.        $mac = $mac_list[$name];
    28.        $ip = $ip_list[$mac];
    29.        printf('%s %s %s', $name, $mac, $ip);
    30.     //print_r($name);
    31.     }
    32.     if (!feof($handle)) {
    33.         echo "Ошибка: fgets() неожиданно потерпел неудачу\n";
    34.     }
    35.     fclose($handle);
    36. }
    37.  
    38.  
    39. ?>