我是PHP编程的新手。所以,我想从两个不同的文件夹中加入两个文本文件。 文件看起来像这样。 文件1:
----------------------------------
| customer no | customer details |
----------------------------------
| 1 | ABC Q |
| 2 | PQR |
| 3 | XYZ |
......等等。
文件2:
1 M
2 L
3 Q
4 V
5 H
6 R
7 T
......等等。
我希望它看起来像这样:
-1 -2 -2 -3 -2 -1 -2 -3 -2 1 2 -2 6 0 -3 -2 -1 -2 -1 1
-2 -2 -4 -4 -1 -2 -3 -4 -3 2 4 -3 2 0 -3 -3 -1 -2 -1 1
-2 6 -1 -2 -4 4 0 -3 0 -3 -3 2 -1 -3 -2 -1 -1 -3 -2 -3
2 -3 -3 -4 -1 -2 -3 -3 -3 2 3 -3 1 -1 -3 -1 -1 -3 -2 2
-2 3 -1 -2 -3 1 -1 -3 7 -3 -1 0 -2 -2 1 0 -2 -3 0 -3
-2 6 -1 -2 -4 0 -1 1 -1 -4 -3 3 -2 -4 -3 -1 -2 -4 -3 -3
-1 -2 3 -2 -2 -1 -2 -2 -2 -1 1 -2 4 -2 1 0 3 -3 -2 1
这是我的代码:
1 M -1 -2 -2 -3 -2 -1 -2 -3 -2 1 2 -2 6 0 -3 -2 -1 -2 -1 1
2 L -2 -2 -4 -4 -1 -2 -3 -4 -3 2 4 -3 2 0 -3 -3 -1 -2 -1 1
3 Q -2 6 -1 -2 -4 4 0 -3 0 -3 -3 2 -1 -3 -2 -1 -1 -3 -2 -3
4 V 2 -3 -3 -4 -1 -2 -3 -3 -3 2 3 -3 1 -1 -3 -1 -1 -3 -2 2
5 H -2 3 -1 -2 -3 1 -1 -3 7 -3 -1 0 -2 -2 1 0 -2 -3 0 -3
6 R -2 6 -1 -2 -4 0 -1 1 -1 -4 -3 3 -2 -4 -3 -1 -2 -4 -3 -3
7 T -1 -2 3 -2 -2 -1 -2 -2 -2 -1 1 -2 4 -2 1 0 3 -3 -2 1
以上代码一直显示此错误:
$files1 = glob("/the path of the first files/");
$files2 = glob("/the path of the first files/");
foreach($files1 as $file1){
$a = file('$file1', FILE_IGNORE_NEW_LINES);
foreach($files2 as $file2){
$b = file('$file2', FILE_IGNORE_NEW_LINES);
foreach($a as $key => $value){
$a[$key] = $value.$b[$key];
}
file_put_contents('$file2',implode("\n", $pssm1),FILE_APPEND);
}
}
任何人都可以提供帮助? 在此先感谢您的帮助。
答案 0 :(得分:1)
对于您提供的代码,检查数组索引ID是否存在。(您的错误仅限于此。)
foreach($a as $key => $value){
if(isset($b[$key])) // <--- check this line
$a[$key] = $value.$b[$key];
}
答案 1 :(得分:0)
试试这段代码:
$lines = file('file1.txt');
$lines2 = file('file2.txt');
foreach ($lines as $key => $val) {
$lines[$key] = $val.$lines2[$key];
}
file_put_contents('final_file.txt', implode("\n", $lines));
答案 2 :(得分:0)
我准备了一份工作代码。试试这个
<?php
$file1 = file_get_contents('file1.txt');
$file2 = file_get_contents('file2.txt');
$data1 = explode("\n", $file1);
$data2 = explode("\n", $file2);
foreach($data1 as $key => $data) {
if(!isset($data2[$key]))
continue;
file_put_contents('File3.txt',$data . ' ' . $data2[$key] . "\n",FILE_APPEND);
}
?>
OUTPUT:
1 M -1 -2 -2 -3 -2 -1 -2 -3 -2 1 2 -2 6 0 -3 -2 -1 -2 -1 1
2 L -2 -2 -4 -4 -1 -2 -3 -4 -3 2 4 -3 2 0 -3 -3 -1 -2 -1 1
3 Q -2 6 -1 -2 -4 4 0 -3 0 -3 -3 2 -1 -3 -2 -1 -1 -3 -2 -3
4 V 2 -3 -3 -4 -1 -2 -3 -3 -3 2 3 -3 1 -1 -3 -1 -1 -3 -2 2
5 H -2 3 -1 -2 -3 1 -1 -3 7 -3 -1 0 -2 -2 1 0 -2 -3 0 -3
6 R -2 6 -1 -2 -4 0 -1 1 -1 -4 -3 3 -2 -4 -3 -1 -2 -4 -3 -3
7 T -1 -2 3 -2 -2 -1 -2 -2 -2 -1 1 -2 4 -2 1 0 3 -3 -2 1
首先,文件被新行读取并分解,因此我们得到一个数组,其中一行作为该数组的值。
然后我们遍历第一个数组并检查第二个文件中是否存在相同的行。如果没有,那么我们继续我们写的文件,组合用空格分隔。