【问题标题】:How to Shuffle & Echo 5 Random Elements from a String?如何从字符串中随机播放和回显 5 个随机元素?
【发布时间】:2011-03-01 15:18:15
【问题描述】:

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

【问题讨论】:

    标签: php string random random-sample


    【解决方案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);
    

    【讨论】:

      【解决方案2】:
      $array = explode ( ',',$trans);
      shuffle($array);
      for ( $i = 0 ; $i < 5 ; $i ++ ){
         $shufl[] = $array[$i];
      }
      

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

      希望这会有所帮助:)

      【讨论】:

        【解决方案3】:

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

        可以吗:

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

        或者也可以

        • 'water strand''kippenvleugel bananen'等

        ?

        【讨论】:

          猜你喜欢
          • 2011-07-06
          • 1970-01-01
          • 1970-01-01
          • 2015-02-20
          • 1970-01-01
          • 2020-08-28
          • 1970-01-01
          • 2011-10-23
          • 1970-01-01
          相关资源
          最近更新 更多