这是什么意思? expr1 = expr2 Mod expr3 = 0

时间:2009-07-18 01:27:02

标签: php vba modulo ternary

所以我将一个VBA应用程序移植到PHP并遇到了这个奇妙的小块代码:

expr1 = expr2 Mod expr3 = 0

我认为它的表现就像一个三元运算符,但是当我把它简化为简单的话,如果那时语句的结果并不像预期的那样。因此,我要求精彩的堆栈溢出社区帮助我,并将其置于易于理解的术语中。我知道通过查看其他答案,我不会失望。 [/ end brown_nose>]

2 个答案:

答案 0 :(得分:8)

它将expr1赋值给一个布尔值,该值指示是否可以通过expr3均匀地划分expr2(没有余数)。请记住,= VB中的= = =。

以下是隐含括号的内容:

expr1 = ((expr2 Mod expr3) = 0)

答案 1 :(得分:5)

是模数运算符:

a MOD b = remainder of a/b
PHP中的

是%符号:

a%b

see php documentation here

所以行

expr1 = expr2 Mod expr3 = 0

表示:expr1为true,如果expr2可以除以expr3而没有任何余数: 例如:

20 MOD 5 = 0 ==> TRUE
22 MOD 5 = 2 ==> FALSE