Есть текстовый файл в нём строки
1002;room10;info;gl
1002;room12;info;gl
1003;room13;info1;gl
1003;room14;info1;gl
и есть второй текстовый файл
stend0;code;2360;code2;5453;code3;1000
stend1;code;5551;code2;4444;code3;1002
stend1;code;5552;code2;4444;code3;1002
stend1;code;5553;code2;4444;code3;1002
stend1;code;5554;code2;4444;code3;1002
stend2;code;5331;code3;4443;code3;1003
stend2;code;5332;code3;4443;code3;1003
stend2;code;5333;code3;4443;code3;1003
stend2;code;5334;code3;4443;code3;1003
Пробую внести во второй файл соответствия по числу 1002==1002 итд, и записать в конец массива room.. получается так:
stend0;code;236;code2;5453;code3;1000
stend1;code;5551;code2;4444;code3;1002;room12
stend1;code;5552;code2;4444;code3;1002;room12
stend1;code;5553;code2;4444;code3;1002;room12
stend1;code;5554;code2;4444;code3;1002;room12
stend2;code;5331;code3;4443;code3;1003;room14
stend2;code;5332;code3;4443;code3;1003;room14
stend2;code;5333;code3;4443;code3;1003;room14
stend2;code;5334;code3;4443;code3;1003;room14
желаемый результат такой должен быть:
stend0;code;236;code2;5453;code3;1000
stend1;code;5551;code2;4444;code3;1002;room10
stend1;code;5552;code2;4444;code3;1002;room12
stend1;code;5553;code2;4444;code3;1002
stend1;code;5554;code2;4444;code3;1002
stend2;code;5331;code3;4443;code3;1003;room13
stend2;code;5332;code3;4443;code3;1003;room14
stend2;code;5333;code3;4443;code3;1003
stend2;code;5334;code3;4443;code3;1003
Вот мой код
$file1 = fopen('table.txt', "r");
//$file2= fopen("products.csv", "r");
$files = array($file1);
foreach($files as $file){
while (($line = fgets($file)) !== false) {
$Data[]= explode(';',trim($line));
}
}
# code...
$file1 = fopen('tablfinsh.txt', 'r');
$files = array($file1);
foreach ($files as $file) {
while (($line = fgets($file)) !== false) {
$value[] = explode(';', trim($line)); //создаём массив данных перед удалением содержимого из файла
}
}
$handle = fopen('tablfinsh.txt', 'w+'); // Открыть файл, сделать его пустым
sleep(1);
fclose($handle);
foreach ($value as $key => $value1) {
$fp = $value[$key];
foreach ($Data as $key1 => $sec) {
if ($value1[6] === $sec[0]) {
$fp[7] = $sec[1];
}
}
$toBeSaved = implode(';', $fp);
file_put_contents('tablfinsh.txt', $toBeSaved . "\r\n", FILE_APPEND | LOCK_EX); // записывам из массива построчно в файл
}