do-while/while中的赋值不能按预期工作

ham*_*ger 3 php while-loop do-while

我想在48和122之间分配一个随机值,$num除了值79.

所以为了解决这个问题,我尝试了一个do-while和while循环来解决这个问题.我测试了它,但它没有按预期工作,它以无限循环结束.

while($num != 79){
    $num =  rand(48, 122);
};
Run Code Online (Sandbox Code Playgroud)

要么:

do {
    $num = rand(48, 122);
} while ($num != 79);
Run Code Online (Sandbox Code Playgroud)

那么为什么这不能像我想要的那样工作呢?谁能告诉我我的错误在哪里?

$ num shout是48到122之间但不是79的数字.

the*_*oob 6

在这两种情况下逻辑都是错误的,当你的数字不是 79 时你重复循环

如果数字 79,你应该重复循环:

$num = 79;// assign value to avoid Notice error 
while($num == 79){ 
    $num =  rand(48, 122);
};
Run Code Online (Sandbox Code Playgroud)

要么:

do {
    $num = rand(48, 122);
} while ($num == 79);
Run Code Online (Sandbox Code Playgroud)