为什么';t减法符号在php的while循环中工作?

为什么';t减法符号在php的while循环中工作?,php,loops,while-loop,sign,subtraction,Php,Loops,While Loop,Sign,Subtraction,这是一个PHP代码。当我运行它时,它工作正常。但是,当我将其更改为下面的代码时,它不会 <?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 Mo

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

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


请帮忙。我所做的更改是突出显示的。

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

<?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>";
}
?>
什么都不做。它只是告诉php“在这里,有一个50”,php会说“哎呀,谢谢,好吧,随便什么”,然后继续前进。那你有

50;
由于
$hp
未定义,因此它为空,代码解析/执行如下:

while($hp > 1) {

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

<?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>";
}
?>
什么都不做。它只是告诉php“在这里,有一个50”,php会说“哎呀,谢谢,好吧,随便什么”,然后继续前进。那你有

50;
由于
$hp
未定义,因此它为空,代码解析/执行如下:

while($hp > 1) {

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

<?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>";
}
?>
50


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

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

<?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>";
}
?>
50



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

这是什么<代码>**-=***
。第一次看到这样的东西。代码格式出现问题。如果使用文本编辑器中的“代码示例”按钮,则无需再使用反勾号。嗯,您在第二个版本中从未分配过任何内容,因此,
$hp
以null开头,这将显示为“小于”1,因此循环不会执行。抱歉。那是印刷错误。我确实写了$hp=50;然而,它没有起作用。有什么建议吗?这是什么<代码>**-=***
。第一次看到这样的东西。代码格式出现问题。如果使用文本编辑器中的“代码示例”按钮,则无需再使用反勾号。嗯,您在第二个版本中从未分配过任何内容,因此,
$hp
以null开头,这将显示为“小于”1,因此循环不会执行。抱歉。那是印刷错误。我确实写了$hp=50;然而,它没有起作用。有什么建议吗?对不起。那是印刷错误。我确实写了$hp=50;然而,它没有起作用。有什么建议吗?您的第二个代码示例(更改后)非常适合我。非常感谢。还有一个问题,如果我想写“你杀了他”,而不是“到目前为止总数:5”,当$hp变为小于1时,该怎么办?对不起。那是印刷错误。我确实写了$hp=50;然而,它没有起作用。有什么建议吗?您的第二个代码示例(更改后)非常适合我。非常感谢。还有一个问题,如果我想写“你杀了他”,而不是“到目前为止总数:5”,当$hp变为小于1时,该怎么办?对不起。那是印刷错误。我确实写了$hp=50;然而,它没有起作用。有什么建议吗?当我运行代码时,它对我来说运行良好,并打印出以下内容<代码>到目前为止共完成45次X光检查:到目前为止共完成30次:到目前为止共完成25次:到目前为止共完成20次X光检查:到目前为止共完成5次X光检查:-10非常感谢。还有一个问题,如果我想写“你杀了他”,而不是“到目前为止总计:5”,当$hp变为小于1时,你只需将“到目前为止总计”语句替换为
echo“你杀了他”

对不起。那是印刷错误。我确实写了$hp=50;然而,它没有起作用。有什么建议吗?当我运行代码时,它对我来说运行良好,并打印出以下内容<代码>到目前为止共完成45次X光检查:到目前为止共完成30次:到目前为止共完成25次:到目前为止共完成20次X光检查:到目前为止共完成5次X光检查:-10
非常感谢。还有一个问题,如果我想写“你杀了他”,而不是“到目前为止总计:5”,当$hp变为小于1时,你只需将“到目前为止总计”语句替换为
echo“你杀了他”