将txt文件转换为字符串,然后转换为数组,然后打印数组的每个单词

时间:2016-11-14 15:16:29

标签: php html arrays string text

我正在尝试将文本文件转换为字符串,然后转换为数组,然后最终将每个值(单词)打印到单独的“a”持有者中。

.txt文件包含一行文字。

我通过for循环尝试了它,就像这样:

    $lines = file_get_contents('test.txt', FILE_USE_INCLUDE_PATH);
    $words = explode(" ", $lines);

    for ($x = 1; $x >= 100; $x++){
        print '<a id="word$x">'$words[$x]'</a>';
    }

但那不起作用。我确信我只是缺少一些基本的东西,但我已经尝试过多次失败,我需要别人的意见和建议。

4 个答案:

答案 0 :(得分:0)

您必须使用&lt; =而不是&gt; =

for ($x = 1; $x <= 100; $x++){
    print '<a id="word$x">'$words[$x]'</a>';
}

答案 1 :(得分:0)

首先,不要忘记字符串连接:print '<a id="word'.$x.'">'.$words[$x].'</a>';

如果您需要更多,而不是只有100个单词,请在您的

中使用$x < count($words)

答案 2 :(得分:0)

您可以使用sprinf,它更容易阅读。

$lines = file_get_contents('test.txt', FILE_USE_INCLUDE_PATH);
$words = explode(" ", $lines);

for ($x = 1; $x >= 100; $x++){
  echo sprintf('<a id="word%s">%s</a>', $word, $words[$x]);
}

但如果你不想,你可以简单地连接这些值。

echo '<a id="word' . $x . '">' . $words[$x] . '</a>';

答案 3 :(得分:0)

使用显式for循环是一种不好的做法。

$lines = file_get_contents('test.txt', FILE_USE_INCLUDE_PATH);
$words = explode(" ", $lines);
$words = array_slice($words, 0, 100);

foreach ($words as $index => $word) {
    print "<a id=\"word$x\">$word</a>";
}

此外,请注意,数组索引始于0而不是1 。如果你做$x = 1,你将最终失去第一个字!

如果您要打印所有字词,请丢失$words = array_slice($words, 0, 100);。详细了解array_slice here