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

404
03 марта 2019, 18:40

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

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

Answer 1

Я бы делал так

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);
}
Answer 2
function getAndExplode($fileName, $key = 0) {
    $contents = file_get_contents($fileName);
    $exploded = explode(" ", $contents);
    return $exploded[$key];
}
$string = getAndExplode("file1.txt", 1)
  . " " . getAndExplode("file2.txt")
  . " " . getAndExplode("file3.txt");
echo $string;
// familiya-in 00:25:00:0F:00:1A 192.168.10.2
READ ALSO
PHP Запись массива в строку рекурсией

PHP Запись массива в строку рекурсией

есть такой массив и функция, при обычном выводе (echo) всё корректно выводится, но при записывании в строку массив записывается в не понятном...

152
API Platform — кто-то использует?

API Platform — кто-то использует?

Интересует вопрос, использует ли кто-то API Platform (api-platformcom) на реальных проектах в продакшене? Или хотя бы ведется какая-то разработка на нем?

209
Эффект прокрутки блока

Эффект прокрутки блока

Как реализовать эффект прокрутки сначала левого блока до конца, затем правого как в примере на странице https://7day-newscom/article/full/906?utm_content=[TEASER_ID]&utm_source=906&utm_term=&utm_medium=&utm_campaign=&sid1=&sid2=&sid3=&sid4=full&sid5=7

160
Как считать комментарий в PHP?

Как считать комментарий в PHP?

В многих фреймворках и библиотеках используется ввод какой-то информации (типа конфиг) в комментарий, а php как-то его считывает и использует...

186