将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)你为

+0

工作完美!我会检查这个答案是否正确。 Ps:谢谢 – Jousi

你必须使用< =代替> =

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>"; 
} 

此外,注意数组索引开始与01。如果你这样做$x = 1你会失去第一个字!

如果你想打印所有的单词,只是丢失$words = array_slice($words, 0, 100);。了解更多关于array_slicehere

+0

是的我忘记了数组的第一个值为0,从前端开发到PHP一直在创造一些奋斗...感谢寿 – Jousi