【问题标题】:randomly select a word between commas in php string在php字符串中的逗号之间随机选择一个单词
【发布时间】:2017-11-18 19:50:37
【问题描述】:

我有一个看起来像这样的字符串

$genres = "pop,rock,jazz,80s";

我想知道是否可以创建一个随机选择上述任何类型的字符串?但删除逗号?

例如它会创建

$newgenre = "pop";

【问题讨论】:

标签: php


【解决方案1】:

你可以这样使用:

$genreArray = explode(',', $genres);
$genre = $genreArray[mt_rand(0, count($genreArray))];

【讨论】:

  • 这给了我一个错误:[18-Nov-2017 19:58:51 UTC] PHP Parse error: syntax error, unexpected ']' in
  • mt_rand() 比 rand 好。 why?
  • 从 7.1 开始,rand() 已成为 mt_rand() 的别名,但为了向后兼容,我对其进行了更改。谢谢,@马丁! -CM
【解决方案2】:

替代方法

其他人都在使用从数组中随机选择,试试这个替代方案:

$genreArray = explode(',', $genres);
shuffle($genreArray);     //mixes up the array using rand or mt_rand 
$genre = $genreArray[0];  // take first element of shuffled array.

【讨论】:

    【解决方案3】:

    您可以使用$genreArray = explode(',', $genres) 函数将其全部放入一个数组中。 然后你可以为数组生成一个随机索引,使用

    $randomKey = rand(0, count($genreArray))
    

    然后,您所要做的就是从数组中获取随机流派。

    $randomGenre = $genreArray[$randomKey];
    

    【讨论】:

      【解决方案4】:

      你可能会爆炸

      并从数组中获取一个随机值

      $genresArray = explode(',',$genres);
      
      $your_values = array_rand ($genresArray,1);
      
      echo $your_values[0];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-03
        • 2014-01-26
        • 2019-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多