所以我将一个 VBA 应用程序移植到 PHP 并遇到了这个美妙的小代码块:
expr1 = expr2 Mod expr3 = 0
我认为它的行为类似于三元运算符,但是当我将其分解为简单的 if then 语句时,结果并不像预期的那样。所以我请求出色的堆栈溢出社区来帮助我,并用易于理解的术语来表达。我知道通过查看其他答案,我不会失望。[/结束 brown_nose>]
它将 expr1 分配给一个布尔值,该值指示 expr2 是否可以被 expr3 均分(没有余数)。请记住,= 在 VB 中意味着 == :D。
下面是隐含括号的样子:
expr1 = ((expr2 Mod expr3) = 0)
它是模运算符:
a MOD b = remainder of a/b
在 PHP 中它是 % 符号:
a%b
所以这条线
expr1 = expr2 Mod expr3 = 0
表示: expr1 为真,如果 expr2 可以除以 expr3 而没有任何余数:例如:
20 MOD 5 = 0 ==> TRUE
22 MOD 5 = 2 ==> FALSE