我正在写一段代码,它接受三个参数,并返回偶数的和。
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);
1条答案
按热度按时间xjreopfe1#
您应该在偶数测试之前进行
is_int()
测试。$a % 2
将$a
转换为数字,而非数字字符串转换为0
,这是偶数。