2014-10-23 5 views
1

Предположим, у меня есть пункт, как показано нижеполучить случайные предложения из пункта

This is sentence 1.This is sentence 2.This is sentence 3.This is sentence 4.This is sentence 5.This is sentence 6. 

Мне нужно, чтобы получить случайную 3 фразу из приведенных выше результатов paragraph.which что-то вроде ниже

This is sentence 5.This is sentence 1.This is sentence 3. 

я знаю, его можно с explode.Is там любой простой способ сделать это?

$game = explode($string, ".") 
shuffle($game); 
+0

Hah! Ваше решение довольно легко и понятно. Пожалуйста, contuneue использовать его – Max

+0

@Max: но в чем смысл перетасовки целого массива, если ей нужны только три элемента? –

ответ

1

Вы получили неправильный порядок параметров в explode - это explode (string $delimiter , string $string [, int $limit ]). Вы должны использовать его следующим образом:

$game = explode('.', $string); 

Вы получите массив с предложениями. Теперь просто напечатайте случайный вариант:

$id = rand(0, (count($game)-1)); 
echo $game[$id] . '. '; //mind adding removed dot and a space after it! 

Если вам нужны три предложения, вы можете просто запустить его в цикле. Помните о создании новой $id каждой итерации!

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