PHP控制兰特的输出

New*_*ewb 1 php

是否可以控制rand的输出,例如,如果我只是想让rand给我输出变量$ roll1的值,或者在rand运行或浏览器时六种可能性中的一半时间的值或数量是刷新,如何实现这一目标?

我的代码很糟糕,但我正在努力学习,我偶尔会得到一个,但它不一致,每次刷新页面我都想要1.

因此,如果我刷新页面6次,我应该从变量$ roll1中获得1次三次,而$ roll1的其余值应该是随机的.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
    <title>loaded dice</title>
</head>
<body>
<h1>loaded dice</h1>
<h3>loaded dice</h3>
<?php
// loaded dice, should roll the number 1 half the time out of a total of 6.
// So if I refreshed my browser six times I should at least see three 1's for roll1.
$roll1 = rand(1, 6);

// Okay is it possible to divide rand by two or somehow set it up
// so that I get the the value 1 half the time?
// I am trying division here on the if clause in the hopes that I can just have
// 1 half the time, but it's not working,maybe some type of switch might work? :-(.

if ($roll1 == 3) {
    $roll1 / 3;
}
if ($roll1 == 6) {
    $roll1 / 6;
}
if ($roll1 == 1) {
    $roll1 / 1;
}

// This parts works fine :-).
// Normal random roll, is okay.
$roll2 = rand(1, 6);

print <<<HERE
<p>Rolls normal roll:</p>
You rolled a $roll2.
<p>Rolls the number 1 half the time:</p>
<p>You rolled a $roll1.</p>
HERE;

// Notice how we used $roll1 and 2, alongside the HERE doc to echo out a given value.
?>
<p>
    Please refresh this page in the browser to roll another die.
</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Byr*_*ock 6

你可以这样做

if (rand(0,1))
{
    $roll = rand(2,6);
}
else
{
    $roll = 1;
}
Run Code Online (Sandbox Code Playgroud)