2016-11-14 2 views
0

Я пытаюсь преобразовать текстовый файл в строку, затем в массив, а затем окончательно напечатать каждое из значений (слов) на отдельные «а».Преобразование txt-файла в строку, а затем для массива, а затем для печати каждого слова массива

. TXT-файл содержит одну строку текста.

Я попробовал через цикл, например, так:

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

Кроме того, знать индексация массивов начинается с 0 не 1. Если вы сделаете $x = 1, вы потеряете первое слово!

Если вы хотите напечатать все слова, просто потеряйте $words = array_slice($words, 0, 100);. Узнайте больше о array_slicehere.

+0

Да, я забыл, что массивы берут первое значение как 0, переход от front-end разработки в php создает некоторую борьбу по пути ... Спасибо tho – Jousi

Смежные вопросы