【问题标题】:Echoing out a random variable回显一个随机变量
【发布时间】:2011-12-30 04:33:03
【问题描述】:

假设我有三个变量:-

$first = "Hello";
$second = "Evening";
$third = "Goodnight!";

我如何在页面上回显一个随机的,因为我希望在我的网站侧边栏中有这个模块,每次刷新都会改变,随机

【问题讨论】:

    标签: php variables random sidebar


    【解决方案1】:

    将它们放入一个数组中,并使用rand() 从其中随机选择。传递给rand() 的数值范围为零,作为数组中的第一个元素,并且比数组中的元素数小一。

    $array = array($first, $second, $third);
    echo $array[rand(0, count($array) - 1)];
    

    例子:

    $first = 'first';
    $second = 'apple';
    $third = 'pear';
    
    $array = array($first, $second, $third);
    for ($i=0; $i<5; $i++) {
        echo $array[rand(0, count($array) - 1)] . "\n";
    }
    
    // Outputs:
    pear
    apple
    apple
    first
    apple
    

    或者更简单,通过调用array_rand($array) 并将结果作为数组键传回:

    // Choose a random key and write its value from the array
    echo $array[array_rand($array)];
    

    【讨论】:

      【解决方案2】:

      使用数组:

      $words = array('Hello', 'Evening', 'Goodnight!');
      
      echo $words[rand(0, count($words)-1)];
      

      【讨论】:

      • 但这些不仅仅是文字,这将是相当沉重的 html。那么我可以用$first 变量替换First 并在代码上方声明它并设置一个值吗?
      • 你可以把任何你想要的东西放入一个数组中。但是,如果您将“重”html 转储到变量中,您可能需要重新考虑您的设计。
      【解决方案3】:

      为什么不为此使用array_rand()

      $values = array('first', 'apple', 'pear');
      echo $values[array_rand($values)];
      

      【讨论】:

        【解决方案4】:

        生成一个更好的随机值,您可以使用mt_rand()

        例子:

            $first  = "Hello";
            $second = "Evening";
            $third  = "Goodnight!";
            $array  = array($first, $second, $third);
            echo $array[mt_rand(0, count($array) - 1)];
        

        【讨论】:

          猜你喜欢
          • 2014-02-23
          • 1970-01-01
          • 2018-05-30
          • 2013-02-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-11-25
          相关资源
          最近更新 更多