2010-04-23 2 views
1

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

Я хочу получить набор из 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 ....

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

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

+0

Наборы всегда разделены пустой линией? – codaddict

+0

Точный пример файла требуется, если вы хотите, чтобы кто-то разработал для вас парсер. Действительно ли наборы действительно разделены, пока вы показываете? – erisco

+0

Нет, их нет, проблема решена. Большое спасибо! –

ответ

0

Вы можете использовать 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 />'; 
} 
1

Положите все возможности в массив, а затем мы array_rand() Я думаю.

+0

любые идеи о том, как это сделать конкретно? Я знаю очень мало PHP. –

+0

Онлайн-документация php - это хорошее место для начала: http://php.net/manual/en/function.array-rand.php – Scuzzy

0

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

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