简单的PHP问题,我似乎不能得到的工作


Simple PHP issue that I cant seem to get to work

我正在编写一个简单的掷骰子程序。所以它必须从0-5中生成一个随机数,当它选择0-4时,它回显,当它选择5时,它回显。

继续回显第一个回显'you got 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>

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;
}

你的if语句不是在测试一个条件,而是执行一个赋值,然后计算该赋值的真值(在这种情况下,它总是为真)。

你的代码应该是:

if($dice == 5)
{
    echo 'you got 1-5';
}

注意==而不是单个的=

这就行了

while ($trows == 0)
{
   $dice = rand(0,5);
   if ($dice == 5)
   {
     echo 'you got 6';
   }
   else 
   {
     echo 'you got 1-5';
     $trows++;
   }
}