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

txm*_*ail 1 php vba modulo ternary

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

expr1 = expr2 Mod expr3 = 0
Run Code Online (Sandbox Code Playgroud)

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

Jac*_*cob 8

它将expr1赋值给一个布尔值,该值指示expr2是否可以被expr3均分(没有余数).请记住,= VB中的= = = D.

这是暗示括号的样子:

expr1 = ((expr2 Mod expr3) = 0)
Run Code Online (Sandbox Code Playgroud)


Pet*_*ker 5

它是模数运算符:

a MOD b = remainder of a/b
Run Code Online (Sandbox Code Playgroud)

在PHP中它是%符号:

a%b
Run Code Online (Sandbox Code Playgroud)

在这里看到PHP文档

所以行

expr1 = expr2 Mod expr3 = 0
Run Code Online (Sandbox Code Playgroud)

意味着:expr1为真,如果expr2可以除以expr3而没有任何余数:例如:

20 MOD 5 = 0 ==> TRUE
22 MOD 5 = 2 ==> FALSE
Run Code Online (Sandbox Code Playgroud)