我有3个txt文件,所以每行都有一个句子,我想打印它们
$a = '1.txt';
$b = '2.txt';
$c = '3.txt';
$a1= file($a);
$b1= file($b);
$c1= file($c);
$id=1;
echo ' id: '.$id++. 'lang1: ' . $a1. 'lang2:' . $b1. 'lang3:' . $c1 .'<br>' ;
所以结果应该是
id: 1 lang1:来自1.txt的第一行 lang2:来自2.txt的第一行 lang3: 3.txt的第一行
id: 2 lang1:来自1.txt的第二行 lang2:来自2.txt的第二行 lang3: 3.txt第二行
id: 3 lang1:来自1.txt的第三行 lang2:来自2.txt的第三行 lang3: 3.txt的第三行
答案 0 :(得分:1)
如何做的一个例子:
$a = 'file1.txt';
$b = 'file2.txt';
$c = 'file3.txt';
$a1 = explode("\r\n", file_get_contents($a));
$b1 = explode("\r\n", file_get_contents($b));
$c1 = explode("\r\n", file_get_contents($c));
for($id = 1; $id <= 3; $id++) {
$line = $id - 1;
echo "id: {$id} lang1: {$a1[$line]} lang2 {$b1[$line]} lang3: {$c1[$line]} <br>";
}
答案 1 :(得分:0)
所有应该是:
a.append(button);
a.append(h3);
您还应关闭文件:
$a = '1.txt';
$b = '2.txt';
$c = '3.txt';
$a1= file($a, 'r');
$b1= file($b, 'r');
$c1= file($c, 'r');
$id=1;
while(($a_line = fgets($a1)) !== false) {
$b_line = fgets($b1);
$c_line = fgets($c1);
echo ' id: '.$id++. 'lang1: ' . $a_line . 'lang2:' . $b_line . 'lang3:' . $c_line .'<br>' ;
}
此外,只有在每个文件中有相同数量的行时,这才有效。
答案 2 :(得分:0)
$file1 = '1.txt';
$file2 = '2.txt';
$file3 = '3.txt';
$handle1 = fopen($file1, 'rb');
$handle2 = fopen($file2, 'rb');
$handle3 = fopen($file3, 'rb');
$id = 1;
while (($a = fgets($handle1)) && ($b = fgets($handle2)) && ($c = fgets($handle3))) {
echo 'id: ' . $id++ . 'lang1: ' . $a . 'lang2:' . $b . 'lang3:' . $c .'<br>';
}
fclose($handle1);
fclose($handle2);
fclose($handle3);
这将从文件中逐行读取并打印您要求的结果。
答案 3 :(得分:0)
基本上,您需要:
打开文件的一个选项:http://php.net/manual/en/function.fopen.php
从文件中读取下一行的一个选项:http://php.net/manual/en/function.fgets.php
当达到文件末尾时,fgets将返回false,因此您可以将循环基于此。
你有什么尝试?