Как с помощью цикла 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 и выводит информацию о наличии или отсутствии номера во втором файле.
<blockquote>открывается второй файл и подгружается первый есть есть номер т звоним а если нет ищем другой вариант </blockquote> <br/> <pre><code class="php">$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;
}</code></pre> <br/> <br/> <a href="https://onlinephp.io/c/269dd" rel="nofollow">Проверка</a>