当 $b 大于 $a 时,如何测试 $a 是否可以被 $b 整除

How to test if $a is divisible by $b when $b is larger than $a

我正在尝试计算一个字符串 $a 是否可以被另一个字符串 $b 整除。

我能找到的所有示例都告诉我使用模数,例如:

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

但是,因为模returns计算的余数,所以如果$b大于$a,这就不起作用了,因为仍然没有余数。

如何检查 $b 有时(但不总是)大于 $a 的整除性?

您可以使用三元运算符作为下面给出的示例

(($a%$b)==0)?echo "Is divisible": echo "not divisible";

怎么样:

echo ( ($a < $b) && (($a % $b) == 0) ) ? "Is dividible" : "Is not divisable" ;
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";
 }    

你为什么不把它作为一个函数来做:

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);
}

否定 ! 应该是一种有效且优雅的处理方式。

试试这个应该有效:

$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" ;