首页 > 解决方案 > 如果我打印我的变量,我会得到四倍的 1 而不是数字 4

问题描述

我需要将这两个数字相除并得到余数。但是当我尝试使用 for 循环打印余数时,它将返回数字的总乘以 1,如下所示:当计算为 19/5 时,余数为 4 但返回 1111

这是我的表格:

<form method="post">
    <input type="text" name="n1"><br>
    <input type="text" name="n2"><br>
    <input type="submit" name="btnClick" value="click">
</form>

这是我的PHP:

if (isset($_POST['btnClick'])) {

    $number1 = $_POST['n1'];
    $number2 = $_POST['n2'];

    if (!is_numeric($number1) || !is_numeric($number2) || strpos($number1, ".") || strpos($number2, "."))
    {
        echo "error";
    }

    elseif ($number1 <= 0 && $number2 <= 0 || $number1 < 0 || $number2 <= 0) {
        echo "error";
    }


    elseif(!$number1 <= 0 && !$number2 <= 0 || !$number1 < 0 || !$number2 <= 0){

    $answer = $number1 / $number2;

    $RoundedAnswer = round($answer);

    if ($RoundedAnswer * $number2 > $number1) {
        $Result = $RoundedAnswer - 1;

        $ResultRemaind = $Result * $number2;

        for ($i=$ResultRemaind; $i < $number1; $i++) { 
            echo count($i);
        }
    }
    else{
        $Result = $RoundedAnswer;
    }
}

}

标签: phpfor-loopcountecho

解决方案


您需要为此创建一个计数器。检查以下代码:

$nU = 15;
$nG1 = 19;
$counter = 0;
for ($i=$nU; $i < $nG1; $i++) { 
    $counter++;
}
echo $counter; // showing 4 as you want. Counting for 15 , 16, 17 and 18

或者您可以使用 php abs 函数减去两个值,如下所示:

$nU = 15;
$nG1 = 19;
echo abs($nG1 - $nU); // 4

希望它可以帮助你。


推荐阅读