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



我试图将文本文件转换为字符串,然后转换为数组,然后最后将每个值(单词)打印成单独的'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>';
    }

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

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

如果你需要更多的字,使用$x < count($words)在你的for

你必须用<=代替>=

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

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

$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>';

使用显式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的信息

相关内容

最新更新