Как Shuffle & Echo 5 случайных элементов из строки? - PullRequest
0 голосов
/ 01 марта 2011

вопрос о получении трех случайных слов из большой строки, скажем, 200 слов:

$trans = __("water paradise, chicken wing, banana beach, tree trunk")?>
// $trans becomes "water paradijs, kippenvleugel, bananen strand, boom tak"
// elements are separated by comma's and a space

Теперь представьте, что я хочу получить 5 случайных элементов из этой строки $ trans и вывести эхо, которое .
Как я могу это сделать? Код приветствуется! Пожалуйста, сохраните этот синтаксис в своем ответе:

$trans = исходная строка

$shufl = выборочная перестановка из 5 элементов содержит, например, kippenvleugel, boom tak

Ответы [ 3 ]

1 голос
/ 01 марта 2011

Вы можете сделать это, создав массив строк с помощью split, а затем перетасовав его с помощью shuffle:

# Split the string into different elements
$strings = split(',', $trans);
# Shuffle the array
shuffle($strings);

# Select 5 elements
$shufl = array_slice($strings,  0, 5);

array_slice, чтобы получить первые 5 элементовперемешанный массив.Другая возможность заключается в использовании array_rand в массиве split:

$shufl = array_rand(array_flip($strings), 5);
1 голос
/ 01 марта 2011
$array = explode ( ',',$trans);
shuffle($array);
for ( $i = 0 ; $i < 5 ; $i ++ ){
   $shufl[] = $array[$i];
}

Это приведет к массиву $ shufl, содержащему ваши 5 случайных элементов.

Надеюсь, это поможет:)

0 голосов
/ 01 марта 2011

Для лучшего понимания.Что такое случайная строка?

Это может быть:

  • 'water paradijs' 'kippenvleugel' 'bananen strand'

или это также может быть

  • 'водяная нить' 'kippenvleugel bananen' и т. Д.

?

...