PHP Получить случайный абзац - PullRequest
1 голос
/ 23 апреля 2010

Кто-нибудь знает, как получить случайный набор строк из текстового файла?

Я хочу получить набор из 3 строк с <br> на передней панели каждого и отображать их через HTML.

пример:

set 1
<br>Hi
<br>what's your name
<br>goodbye

set 2
<br>stack
<br>overflow
<br>hi there

набор 3,4,5 ....

Выберите один случайный набор и отобразите его. Наборы строк будут храниться в текстовом файле.

Большое спасибо!

Ответы [ 3 ]

1 голос
/ 23 апреля 2010

Поместите все возможности в массив, а затем используйте array_rand ().

0 голосов
/ 23 апреля 2010

Если фрагменты в текстовом файле всегда разделяются пустой строкой, вы можете подготовить файл в одну строку, а затем разделить на \ n \ n.Затем возьмите случайный элемент из этого массива.

0 голосов
/ 23 апреля 2010

Вы можете использовать array_chunk для создания одного массива, состоящего из подмассивов указанного размера:

$fileArr = file('someFile.txt');

// randomize the array
$lines = array_rand($fileArr, 3);

// break it into a single array comprised of arrays of three elements
$chunks = array_chunk($lines, 3);

// read out values of each sub-array
foreach($chunks as $chunk) {
    echo $chunk[0] . '<br />';
    echo $chunk[1] . '<br />';
    echo $chunk[2] . '<br />';
    echo '<br />';
}
...