如果不等于 x 则再次生成随机数 [英] Generate random number again if it doesn't equal x

查看:66
本文介绍了如果不等于 x 则再次生成随机数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想生成一个 1 到 100 之间的数字,但我希望它不断重新生成该数字,直到它等于 50,一旦等于 50,则将其回显.我该怎么做?

I want to generate a number between 1 and 100, but I want it to keep regenerating that number until it equals 50, once it equals 50, then echo it out. How would I do this?

我的功能:

function create() {
    $production_line = mt_rand(0, 3);
    $random1 = mt_rand(0, 9);
    $random2 = mt_rand(0, 9);
    $random3 = mt_rand(0, 9);
    $random4 = mt_rand(0, 9);
    $random5 = mt_rand(0, 9);
    $random6 = mt_rand(0, 9);
    $production_year = mt_rand(3, 4);
    $week1 = 4;
    $week2 = 8;
    $factory1 = 4;
    $factory2 = 8;

    if ($production_line + $random1 + $random2 + $random3 + $random4 + $random5 + $random6 + $production_year + $week1 + $week2 + $factory1 + $factory2 == 55) {
        return $production_line.$random1.$random2.$random3.$random4.$random5.$random6.$production_year.$week1.$week2.$factory1.$factory2;
    }
}

推荐答案

生成并测试 while 循环内的所有随机数.

Generate and test all the random numbers inside a while loop.

function create() {
    $week1 = 4;
    $week2 = 8;
    $factory1 = 4;
    $factory2 = 8;
    while (true) {
        $production_line = mt_rand(0, 3);
        $random1 = mt_rand(0, 9);
        $random2 = mt_rand(0, 9);
        $random3 = mt_rand(0, 9);
        $random4 = mt_rand(0, 9);
        $random5 = mt_rand(0, 9);
        $random6 = mt_rand(0, 9);
        $production_year = mt_rand(3, 4);

        if ($production_line + $random1 + $random2 + $random3 + $random4 + $random5 + $random6 + $production_year + $week1 + $week2 + $factory1 + $factory2 == 55) {
            return $production_line.$random1.$random2.$random3.$random4.$random5.$random6.$production_year.$week1.$week2.$factory1.$factory2;
        }
    }
}

这篇关于如果不等于 x 则再次生成随机数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆