2016-11-14 109 views
0

我試圖將文本文件轉換爲字符串,然後轉換爲數組,然後將每個值(單詞)分別打印爲單獨的'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>'; 
    } 

但是,這並不工作。我相信我只是錯過了一些基本的東西,但我曾多次嘗試失敗,我需要別人的意見和建議。

回答

0

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

如果你需要更多的,不是僅僅100字的使用$x < count($words)你爲

+0

工作完美!我會檢查這個答案是否正確。 Ps:謝謝 – Jousi

0

你必須使用< =代替> =

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

此外,注意數組索引開始與01。如果你這樣做$x = 1你會失去第一個字!

如果你想打印所有的單詞,只是丟失$words = array_slice($words, 0, 100);。瞭解更多關於array_slicehere

+0

是的我忘記了數組的第一個值爲0,從前端開發到PHP一直在創造一些奮鬥...感謝壽 – Jousi

相關問題