将txt文件转换为字符串,然后转换为数组,然后打印数组中的每个字
问题描述:
我试图将文本文件转换为字符串,然后转换为数组,然后将每个值(单词)分别打印为单独的'a'持有人。将txt文件转换为字符串,然后转换为数组,然后打印数组中的每个字
该.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>';
如果你需要更多的,不是仅仅100字的使用$x < count($words)
你为
答
你必须使用< =代替> =
for ($x = 1; $x <= 100; $x++){
print '<a id="word$x">'$words[$x]'</a>';
}
答
您可以使用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>';
答
使用明确的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。
+0
是的我忘记了数组的第一个值为0,从前端开发到PHP一直在创造一些奋斗...感谢寿 – Jousi
工作完美!我会检查这个答案是否正确。 Ps:谢谢 – Jousi