简单的PHP问题,我似乎无法开始工作

时间:2014-07-11 14:13:10

标签: php

我正在制作一个简单的掷骰子程序。所以它必须从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>

3 个答案:

答案 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++;
   }

}