如何使用while(!feof)仅选择一行的第2个和第4个值?

时间:2019-03-31 19:11:37

标签: javascript php

我正在使用while(!feof函数导入一个.txt文件。 很好。

但是现在我只需要导入每行的第二和第四位置/值。

那怎么办?

在下面,您可以看到我当前正在使用的代码。该代码逐行导入整个文件。

$txtimport = fopen("MyFile.txt", "r") or die("I died");
// Output one line until end-of-file
echo '<div id="someID" style="display: block">';
while(!feof($txtimport)) {
echo '<ar>'.fgets($txtimport).'</ar><br />';
}
echo '</div>';
fclose($txtimport);

.txt文件如下所示:

1;你好;世界;如何;你呢?
我;我;很好;谢谢;你
再次;对;听到;从;对您而言

预期输出

你好如何
我没事

通知
.txt。文件每一行遵循相同的逻辑。每行由6个位置组成,这些位置由“;”

分隔

逻辑
sometekst1; sometekst2; sometekst3; sometekst4; sometekst5; sometekst6

2 个答案:

答案 0 :(得分:1)

您可以使用explode()

$txtimport = fopen("MyFile.txt", "r") or die("I died");

echo '<div id="someID" style="display: block">';
while (($line = fgets($txtimport)) !== false) {
    $parts = explode(";", $line);
    echo "<span>$parts[1]</span><span>$parts[3]</span><br/>";
}
echo '</div>';
fclose($txtimport);

答案 1 :(得分:0)

使用标准的fgetcsv()但使用;(第三个参数)作为分隔符,您可以直接将文件作为一系列字段读取,然后输出各个项目...

$txtimport = fopen("MyFile.txt", "r") or die("I died");
// Output one line until end-of-file
echo '<div id="someID" style="display: block">';
while($data = fgetcsv($txtimport, null, ";" )) {
    echo '<ar>'.$data[1]." ".$data[3].'</ar><br />';
}
echo '</div>';
fclose($txtimport);