Как проверить, делится ли $ a на $ b, когда $ b больше, чем $ a

Я пытаюсь понять, если одна строка, $ a, делится на другую, $ b.

Все примеры, которые я могу найти, говорят мне, чтобы использовать модуль, например:

if(($a %$b) == 0) : echo "Is dividible" ; endif;

Однако, поскольку модуль возвращает остаток от вычисления, это не сработает, если $ b больше, чем $ a, потому что до сих пор нет остатка.

Как проверить делимость, где $ b иногда (но не всегда) больше, чем $ a?

0

Решение

почему бы вам не сделать это как функцию:

function isDivisible($smaller,$bigger){
//handle division by zero, and hmm.. let's cover negative numbers too
if($smaller<=0) return false;
if($smaller>$bigger) return false;
return !($bigger % $smaller);
}

Отрицание ! должен быть рабочий и элегантный способ справиться с этим.

2

Другие решения

Как насчет:

echo ( ($a < $b) && (($a % $b) == 0) ) ? "Is dividible" : "Is not divisable" ;
1

if($a==$b)
{echo "divisible a and b are equal";
}
else if($a>$b){
if(($a %$b) == 0) : echo "Is dividible" ; endif;
}
else{
echo "\$b is either large or equal to \$a";
}
0

Попробуйте это должно работать:

$a = 7;
$b = 14;

//echo ( ($a > $b) && ( ($a % $b) == 0) ) ? "is divisible":"no divisible";

echo ( ($a < $b) && (($b % $a) == 0) ) ? "Is dividible" : "Is not divisable" ;
0

Вы можете использовать троичный оператор в качестве примера, приведенного ниже

(($a%$b)==0)?echo "Is divisible": echo "not divisible";
-1
По вопросам рекламы [email protected]