而循环在PHP中具有多个条件

时间:2018-05-20 19:12:52

标签: php random while-loop

使用 0 & 3 PHP multiple conditions 之间生成随机数

<?php
    $answer_ll = 1;
    $ll_50_rand_1 = 2;
    $ll_50_rand_2 = $answer_ll;
    while(($ll_50_rand_2 == $answer_ll) && ($ll_50_rand_2 == $ll_50_rand_1)){
    $ll_50_rand_2 = rand(0,3);
    }
echo $ll_50_rand_2;?>

我尝试了上面的代码,但 randomly generated number 重复$answer_ll$ll_50_rand_1

  

所有数字仅作为示例编写,否则所有数字都是动态的。 (可根据情况改变)

声明视图:

我只想要一个具有条件的特定范围的随机数。 条件是随机生成的数字不能是X&amp;收率

X&amp;在加载页面时总是决定Y.这意味着它们是动态的

2 个答案:

答案 0 :(得分:0)

您的代码在您的示例中已经存在逻辑问题

你声明:$ ll_50_rand_2 = $ answer_ll; 而且你有什么条件($ ll_50_rand_2 == $ answer_ll)?真的? ^^这不是必要的

比你在一个循环中填充一个变量,但是在之后产生回声,那个只输出最后一个随机数。

如果我理解你想要花费取决于变量$的变量那么多随机数。

<?php
    $answer_ll = 3;
    $ll_50_rand_1 = 3;

    for($i = 0; $i < $answer_ll && $anser_ll == $ll_50_rand_1; $i++){
         $ll_50_rand_2 = rand(0,3);
         echo $ll_50_rand_2 . PHP_EOL;
    }
?>

http://sandbox.onlinephpfunctions.com/code/23cbff911e01114e3711d272fde4b0c2d9d6c2c0

也许这个例子可以帮助你:)

答案 1 :(得分:0)

如果我理解正确的目的,那么你想要一个不能是X或Y的随机数。

如果是这种情况,那么您可以通过执行以下操作来实现这一目标

function random_number_with_conditions($x, $y) {
    $random_number = rand(0,3);

    if($random_number == $x || $random_number == $y)
        return random_number_with_conditions($x, $y);

    return $random_number;
}

此函数将生成一个随机数,然后根据条件检查该随机数,如果任何条件等于随机生成的数字,则它将再次尝试,并且它将继续这样做,直到它返回一个数字这不是两个条件中的任何一个。