0

关于从 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

现在想象一下,我想从 $trans 字符串中获取 5 个随机元素并回显.
我怎样才能做到这一点?欢迎代码!请在您的答案中保留此语法:

$trans= 原始字符串

$shufl= 5个元素的选择性洗牌包含例如kippenvleugel, boom tak

4

3 回答 3

1

您可以通过使用 创建一个字符串数组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在拆分数组上使用:

$shufl = array_rand(array_flip($strings), 5);
于 2011-03-01T15:57:38.187 回答
1
$array = explode ( ',',$trans);
shuffle($array);
for ( $i = 0 ; $i < 5 ; $i ++ ){
   $shufl[] = $array[$i];
}

这将产生一个包含 5 个随机元素的 $shufl 数组。

希望这可以帮助 :)

于 2011-03-01T18:16:10.773 回答
0

为了更好的理解。什么是随机字符串?

是真的吗:

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

或者也可以

  • '水股' 'kippenvleugel bananen' 等。

?

于 2011-03-01T15:46:45.187 回答