Случайное выражение из массива

DNiS

Новичок
Случайное выражение из массива

Как выводить случаеное выражение из массива такого типа :
$ar_slov=array("слово1 слово2 слово3","слово11 слово22 слово33","слово111 слово222 слово333");?
Таким способом не получается:
<?
$ar_slov=array("слово1 слово2 слово3","слово11 слово22 слово33","словоN словоNN словоNNN");
for($i=1;$i<=5;$i++)
{
$i1 = mt_rand(0, count($ar_slov));
$stroka = $ar_slov[$i1];
echo $stroka;
}
?>
 

Crazy

Developer
DNiS, что ты понимаешь под загадочной фразой "вывод случайного выражения"?

Вывод одного слусайного элемента?
Вывод случайной комбинации элементов?
Вывод N из M элементов в случайном порядке?
 

DNiS

Новичок
Что бы $stroka какждый раз в цикле равнялась либо: слово1 слово2 слово3, либо: слово11 слово22 слово33, либо: словоN словоNN словоNNN. Где всё что после каждого либо, это выражения, которые уже записаны в массив, т.е переменная строка должна ровнятся именно этим выражения, именно в этой последовательности.
 

Crazy

Developer
Если я после трехкратного перечитывания текста понял правильно, то тебе действительно подойдет код из второго сообщения.
 

Vasya

Guest
PHP:
<?
$ar_slov=array(
"слово1", "слово2", "слово3",
"слово11", "слово22", "слово33",
"словоN", "словоNN", "словоNNN"
);
$i1 = rand(0, floor(count($ar_slov) / 3) - 1) * 3;
//$stroka = $i1 . " ";
for($i=0;$i<3;$i++) {
	$stroka .= $ar_slov[$i1+$i]." ";
}
echo $stroka;
?>
 

WebKir

Guest
а как можно сделать,если в массиве уже записаны целые предложения, и что бы он выводил их рандомом(не генерировал их из разных слов)?
 

Vasya

Guest
Вот так можно:
PHP:
<?$indx = rand(0, count($ar_slov)-1);
echo "Случайное предложение из массива => " . $ar_slov[$indx];?>
 

WebKir

Guest
Vasya
спасибо...я вроде типа того пытался делать...неполучилось...а так всё ок...СПСИБО.... :)
 
Сверху