Как с помощью цикла foreach или другого метода сравнить содержимое двух файлов, в одном из которых содержатся номера телефонов, а в другом нет, и выводить информацию о наличии или отсутствии номера телефона? Вот пример данных из файлов: файл1 содержит номера телефонов, а файл2 — другую информацию.
Для считывания содержимого двух файлов и сохранения их в массиве можно использовать следующий код на PHP: ```php $file1 = "file1.txt"; $file2 = "file2.txt"; $data1 = file($file1, FILE_IGNORE_NEW_LINES); $data2 = file($file2, FILE_IGNORE_NEW_LINES); $array = array(); foreach($data1 as $key => $value) { $array[] = array( 'phone_number' => $value, 'other_info' => $data2[$key] ?? '' // если второй файл короче первого, добавляем пустую строку ); } print_r($array); ``` Для сравнения содержимого двух файлов с номерами телефонов можно использовать следующий код: ```php $file1 = "file1.txt"; $file2 = "file2.txt"; $phones = file($file1, FILE_IGNORE_NEW_LINES); $other_info = file($file2, FILE_IGNORE_NEW_LINES); foreach($phones as $phone) { if(in_array($phone, $other_info)) { echo "Номер телефона $phone присутствует в файле 2\n"; } else { echo "Номер телефона $phone отсутствует в файле 2\n"; } } ``` Этот код сравнивает номера телефонов из файла1 с содержимым файла2 и выводит информацию о наличии или отсутствии номера во втором файле.
открывается второй файл и подгружается первый есть есть номер т звоним а если нет ищем другой вариант
$phones = file("./promotion.dat"); $users = file("./promotion2.dat"); foreach ($users as $index => $data) { if (!array_key_exists($index, $phones)) { continue; } $user = preg_replace('/[^<]*<\|>[^<]*<\|>([^<]+).*/', '\1', $data); $phone = preg_replace('/.*<\|>(\d+)<\|>.*/', '\1', $phones[$index]); echo sprintf('%s: %s', $user, $phone); echo PHP_EOL; }
Проверка