我正在尝试将文本文件转换为字符串,然后转换为数组,然后最终将每个值(单词)打印到单独的“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>';
}
但那不起作用。我确信我只是缺少一些基本的东西,但我已经尝试过多次失败,我需要别人的意见和建议。
答案 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。