php 值与整数不同时奇数和偶数函数错误

vs3odd8k  于 2023-04-19  发布在  PHP
关注(0)|答案(1)|浏览(131)

我正在写一段代码,它接受三个参数,并返回偶数的和。

function check($a, $b, $c){

    if($a % 2 == 0 && $b % 2 == 0 && $c % 2 == 0) {
        if(is_int($a) && is_int($b) && is_int($c)) {
            $d=$a+$b+$c;
            echo "The sum of even numbers is $d" ;         
        }
    }
}

$a=4;
$b=4;
$c=6;

check($a, $b, $c);

在这个lvl上,我的代码可以工作。当我尝试输入一个字符串或浮点数时,我没有得到浮点数和字符串。
有人能解释一下我做错了什么吗?

function check($a, $b, $c){

    if($a % 2 == 0 && $b % 2 == 0 && $c % 2 == 0){
        if(is_int($a) && is_int($b) && is_int($c)){
            $d=$a+$b+$c;
            echo "The sum of even numbers is $d" ;         
        }
    } elseif (is_string($a) && is_string($b) && is_string($c)){
        echo "Error, enter the correct variable type";
    }else{
        echo "Error, enter the correct variable type";
    }
}

$a="Cat";
$b=4;
$c=6;
check($a, $b, $c);
xjreopfe

xjreopfe1#

您应该在偶数测试之前进行is_int()测试。$a % 2$a转换为数字,而非数字字符串转换为0,这是偶数。

function check($a, $b, $c){
    if(is_int($a) && is_int($b) && is_int($c)) {
        if($a % 2 == 0 && $b % 2 == 0 && $c % 2 == 0) {
            $d=$a+$b+$c;
            echo "The sum of even numbers is $d" ;         
        }
    } else {
        echo "Error, enter the correct variable type";
    }
}

相关问题