Я пытаюсь построить функцию, которая принимает входной номер и проверяет, является ли следующий номер кратным этому числу.
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.
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
В качестве альтернативы, вы также можете разделить $ tobechecked на $ input и проверить, есть ли остаток, используя функцию floor.
if(is_int($result))
{ echo "It is a multiple";
}
else
{ echo "It isn't a multiple"; }
Вы можете использовать оператор модуля, если результат равен 0, то функция должна вернуть true. Оператор модуля (%) выполняет деление и возвращает остаток.
Вы можете по модулю %
Подобно:
В вычислительной технике
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
Вы можете использовать оператор%
function check($a,$b){
if($b % $a > 0){
return 0;
}
else{
return 1;
}
}