PHP if 语句在条件不起作用后


PHP if statement after a condition not working

我正在尝试使用嵌套的 If 语句来测试一个数字是否是数字,以及它是否舍入该数字,然后转到下一个 If 语句来测试它是否是偶数。我遇到的问题是它没有四舍五入数字,而只是继续下一个 if 语句。任何帮助将不胜感激!

function CheckIfEven($NumberToCheck)
{
    if (is_numeric($NumberToCheck))
    {
        round($NumberToCheck , 0, PHP_ROUND_HALF_UP); 
        if ($NumberToCheck % 2 == 0)
        {
            echo "The number is even. <br />";
        }
        else
        {
            echo "The number is not even. <br />";
        }
    }
    else
    {
        echo "The value entered is not numeric. <br />";
    }
}

PHP 的 round返回舍入值,因此您需要将数字分配给自身:

<?php
$NumberToCheck = round($NumberToCheck, 0, PHP_ROUND_HALF_UP);
?>

手册:http://php.net/manual/en/function.round.php

您需要将

round() 的返回值存储在变量中,然后将其用于其余操作:

$rounded = round($NumberToCheck , 0, PHP_ROUND_HALF_UP);
if ($rounded % 2 == 0)