我想要构建的是一个函数,它接受一个输入数字并检查以下数字是否是该数字的倍数。
function checkIfMult($input,$toBeChecked){
// some logic
}
示例:
checkIfMult(2,4) // true
checkIfMult(2,6) // true
checkIfMult(2,7) // false
checkIfMult(3,6) // true
checkIfMult(3,9) // true
checkIfMult(3,10) // false
我的第一直觉是使用数组
$tableOf2 = [2,4,6,8,10,12,14,16,18]
但是这样的电话会非常不实用:
checkIfMult(6,34234215)
如何查看某些内容是否是输入的倍数?
答案 0 :(得分:2)
Modulo运算符将数字分开并返回余数。
在数学中,倍数表示余数等于0。
function checkIfMult($input,$toBeChecked){
return $toBeChecked % $input === 0;
}
function checkIfMult($input, $toBeChecked){
console.log('checkIfMult(' + $input +',' + $toBeChecked + ')', $toBeChecked % $input === 0);
return $toBeChecked % $input === 0;
}
checkIfMult(2,4) // true
checkIfMult(2,6) // true
checkIfMult(2,7) // false
checkIfMult(3,6) // true
checkIfMult(3,9) // true
checkIfMult(3,10) // false

答案 1 :(得分:2)
您可以使用模数运算符,如果结果为0,则函数应返回true。模数运算符(%)执行除法并返回余数。
答案 2 :(得分:2)
或者,你也可以将$ tobechecked分开$ input并使用floor函数检查是否有余数。
if(is_int($result))
{ echo "It is a multiple";
}
else
{ echo "It isn't a multiple"; }
答案 3 :(得分:1)
您可以模拟%
赞:
在计算中,
modulo
操作在分割后找到余数 一个数字与另一个数字(有时称为模数)。
function checkIfMult($input,$toBeChecked){
return !( $toBeChecked % $input );
}
这跟随结果
echo "<br />" . checkIfMult(2,4); // true
echo "<br />" . checkIfMult(2,6); // true
echo "<br />" . checkIfMult(2,7); // false
echo "<br />" . checkIfMult(3,6); // true
echo "<br />" . checkIfMult(3,9); // true
echo "<br />" . checkIfMult(3,10); // false
答案 4 :(得分:1)
您可以使用%运算符
function check($a,$b){
if($b % $a > 0){
return 0;
}
else{
return 1;
}
}