【问题标题】:Php variable random definite valuephp变量随机定值
【发布时间】:2017-09-21 01:32:01
【问题描述】:

我尝试创建一个发送随机值的变量!

 $random = mt_rand(5,10);

但我希望变量随机带有我选择的数字,如下所示:

$random = 5;10;15;20;25;30

变量必须随机发送 5 或 10 或 15 或 25 或 30

【问题讨论】:

  • while(($r=mt_rand(5,30))%5!==0); ;-)
  • 它有答案herehere

标签: php


【解决方案1】:

请试试这个代码

$random = rand(0,30);

if(($random%5)==0)
{
    echo $random;
}
else
{
    echo roundUpToAny($random);
}
function roundUpToAny($n,$x=5) {
    return round(($n+$x/2)/$x)*$x;
}

【讨论】:

    【解决方案2】:

    你可以使用rand():

    $random = rand(1, 6) * 5;
    

    将产生:

    510152530 随机。

    【讨论】:

      【解决方案3】:
      $values = [5,10,15,20,25,30];
      //shuffle the array
      shuffle($values);
      foreach($values as $v){
        print $v;
      }
      

      总是以不同的顺序...

      【讨论】:

        【解决方案4】:

        如果随机数排列,那么这可能会有所帮助:

        $list=array(5,10,15,20,25,30);
        $n=count($list)-1;
        $random=$list(rand(0,$n));
        

        【讨论】:

          【解决方案5】:

          总是 5 步吗?然后你可以做类似的事情

          $random = mt_rand(1,6) * 5;
          

          否则,我会将您要选择的数字放在一个数组中,然后使用 mt_rand() 选择一个随机元素:

          $random_temp = array(3,6,8,13,16,19);
          $random = $random_temp[mt_rand(0,6)];
          

          【讨论】:

            【解决方案6】:

            假设您已经在数组中拥有所需的值,您可以简单地获取数组的随机位置。一个rand()被第一个元素限制为数组的大小就可以解决这个问题

            <?php
            
            $valores = [1,5,12,17,22,30,90,2,4,6]; // choose de values here
            
            for($i=0;$i<200;$i++){ // just to print more than 1 value 
                echo $valores[rand(1,sizeof($valores))-1]."<br>"; // really pick the values here. start in 1 because we'll remove 1 
            }
            

            【讨论】:

              【解决方案7】:

              您可以使用元素数组并获取随机项

                 $items = Array(5,10,15,20,...50);
              
                  $myvalue = array_rand($items);
              

              【讨论】:

                【解决方案8】:

                使用array_rand 从数组中选择随机键,然后你可以将它放入另一个。

                http://php.net/manual/en/function.array-rand.php

                $input = array(5,10,15,20,25);
                $rand_key = array_rand($input);
                $another_array[] = $input[$rand_key];
                

                【讨论】:

                • 这有一个好处,它允许您在需要时更新数字,而不是需要为它进行计算,例如如果您需要在某个阶段添加 13。
                • 是的,这只是一种有很多方法。我想展示类似替代解决方案的东西:)这取决于真正的原因需要什么:)
                【解决方案9】:

                您可以做的是使用 mt_rand 函数,其值从 1 到 6,然后将它们乘以 5。

                例子:

                $random = mt_rand(1, 6) * 5;
                

                【讨论】:

                  【解决方案10】:

                  喜欢吗?

                  $random = mt_rand(1,6) * 5;
                  

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2013-05-09
                    • 2018-09-15
                    • 2014-05-18
                    • 2012-02-24
                    • 1970-01-01
                    • 2021-12-25
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多