我正在制作一个简单的掷骰子程序。所以它必须从0-5生成一个随机数,当它选择0-4时它就会回显,当它选择5时它就会回显。
它保持呼应第一个回声'你有6'。我似乎无法理解这一点。
<!DOCTYPE html>
<html>
<head>
<title>A loop of your own</title>
<link type='text/css' rel='stylesheet' href='style.css'/>
</head>
<body>
<?php
$trows = 0;
$dice = 0;
while ($dice == 0)
{
$dice = rand(0,5);
$trows++;
}
if ($dice = 5)
{
echo 'you got 6';
}
else
{
echo 'you got 1-5';
}
echo '<br><br>';
echo $trows;
?>
</body>
答案 0 :(得分:1)
if ($dice = 5)
实际上是将值5分配给dice,而不是比较值,因此将输入if语句的第一部分,而不是else。
if ($dice == 5)
是您正在寻找的
编辑:根据您的评论,我认为这就是您要找的内容
$trows = 0;
$dice = 0;
while ($dice != 5)
{
$dice = rand(0,5);
$trows++;
if ($dice == 5) {
echo 'you got 6';
} else {
echo 'you got 1-5';
}
echo '<br><br>';
echo $trows;
}
答案 1 :(得分:1)
你的if语句不是测试一个条件,而是执行一个赋值,然后评估该赋值的真实性(在这种情况下总是如此)。
您的代码应为:
if($dice == 5)
{
echo 'you got 1-5';
}
请注意==
而不是单=
答案 2 :(得分:0)
这样就可以了解
while ($trows == 0)
{
$dice = rand(0,5);
if ($dice == 5)
{
echo 'you got 6';
}
else
{
echo 'you got 1-5';
$trows++;
}
}