为什么没有减法符号在php循环中工作?

时间:2016-06-10 18:05:20

标签: php loops while-loop sign subtraction

<?php
$hp = 0;

while($hp < 50) {
    $flip = rand(0,2);
    if ($flip == 1) {
        echo "<p>X-Ray</p>";
        $hp += 15;
    } elseif ($flip == 2) {
        echo "<p>Special Move</p>";
        $hp += 10;

    } else {
        echo "<p>Punch</p>";
        $hp += 5;
    }
    echo "<p>Total so far: $hp</p>";
    echo "</br>";
}
?>

这是一个PHP代码。当我运行它,它工作正常。但是,当我将其更改为下面的代码时,它并没有。

<?php
$hp = 50;

while($hp > 1) {
    $flip = rand(0,2);
    if ($flip == 1) {
        echo "<p>X-Ray</p>";
        $hp -= 15;
    } elseif ($flip == 2) {
        echo "<p>Special Move</p>";
        $hp -= 10;

    } else {
        echo "<p>Punch</p>";
        $hp -= 5;
    }
    echo "<p>Total so far: $hp</p>";
    echo "</br>";
}
?>

请帮忙。我所做的改变是突出的。

2 个答案:

答案 0 :(得分:0)

您从未在第二个版本中正确创建$hp

50;

没有做任何事情。它只是告诉php&#34;在这里,有一个50&#34;和php去&#34; gee,谢谢,好吧,无论什么&#34;并向前移动。那你有

while($hp > 1) {

由于$hp未定义,因此它为null,代码解析/执行为:

while($hp > 1) {
while(null > 1) {
while(0 > 1) {
FALSE -> exit loop

答案 1 :(得分:0)

您从未在第二个版本中正确创建$ hp:

50;

如果您确实将其更改为$ hp = 50;