Q:

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

Есть 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 

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

A:

Я бы делал так
function readData($name) {
  $res = [];
  $handle = fopen($name, "r");
  if ($handle) {
    while (($str = fgets($handle) !== false) {
      $parsed = explode(' ', $str);
      $res[$parsed[1]] = $parsed[0];
    }
    fclose($handle);
  }
  return res;
}

$mac_list = readData('file2');
$ip_list = readData('file3');
$data = [];
$handle = fopen('file1', "r");
if ($handle) {
  while (($str = fgets($handle) !== false) {
    $parsed = explode(' ', $str);
    $name = $parsed[1];
    $mac = $mac_list[$name];
    $ip = $ip_list[$mac];
    printf('%s %s %s', $name, $mac, $ip);
  }
  fclose($handle);
}

