PHP - выбор случайных строк / переменных для вывода из файла

то, что я пытаюсь достичь, повторяет список из 5 ссылок, ссылки создаются из ключевых слов в файле, разделенных запятыми (ключевое слово1, ключевое слово2). Файл содержит 20 ключевых слов, и я хочу случайным образом выбрать 5 для отображения при каждой загрузке страницы.

Проблема, с которой я сейчас сталкиваюсь, заключается в том, что выводятся все ключевые слова, а не только 5. Вот что у меня есть:

<?php

$keywords=file_get_contents("keywordlist.php");

$keyword_list = explode("\n",$keywords);
shuffle($keyword_list);

$display = 5;

if((count($keyword_list) - 1) > ($display - 1))
    {
        $show = $display - 1;
        }
else
    {
        $show = count($keyword_list) - 1;
        }

        for ($i=0; $i<=$show; $i++)
            {
                $page_name = $keyword_list[$i];
                $clean_list = str_replace(" ","-",$page_name);
                $output .= '<a href="/'.$clean_list.'">'.$page_name.'</a>, ';
                }

echo $output;

?>

Любая помощь будет принята с благодарностью :)


person Jessica    schedule 23.08.2011    source источник
comment
что не работает или какие ошибки возникают?   -  person Matt    schedule 23.08.2011


Ответы (2)


Ты говоришь

внутри файла, разделенного запятыми

тогда в вашем коде вы

$keyword_list = explode("\n",$keywords);


Поэтому, если ваши ключевые слова разделены запятыми, измените код на

$keyword_list = explode(",",$keywords);

в противном случае измените входной файл.

person stealthyninja    schedule 23.08.2011
comment
Лол так просто, не могу поверить, что не заметил. Спасибо, ха-ха :) - person Jessica; 23.08.2011

person    schedule
comment
Просто пройдемся по этому поводу, и он окажется намного более дружелюбным, чем мой предыдущий код. Спасибо. - person Jessica; 21.09.2011