1

そこで、VBA アプリケーションを PHP に移植していて、この素晴らしい小さなコードに出くわしました。

expr1 = expr2 Mod expr3 = 0

三項演算子のように振る舞っていると思っていましたが、単純な if then ステートメントに分解すると、結果は期待どおりではありませんでした。そこで、素晴らしいスタックオーバーフローコミュニティに助けを求め、わかりやすい言葉で説明してもらいました。他の回答を見ると、がっかりしないことがわかります。[/end Brown_nose>]

4

2 に答える 2

8

これは、expr2 を expr3 で均等に (剰余なしで) 割ることができるかどうかを示すブール値に expr1 を割り当てています。= は VB で == を意味することを覚えておいてください :D.

暗黙の括弧を使用すると、次のようになります。

expr1 = ((expr2 Mod expr3) = 0)
于 2009-07-18T01:33:58.123 に答える
5

これはモジュラス演算子です:

a MOD b = remainder of a/b

PHP では % 記号です。

a%b

こちらのphpドキュメントを参照してください

だからライン

expr1 = expr2 Mod expr3 = 0

意味: expr2 を expr3 で割り切れる場合、expr1 は真です。例:

20 MOD 5 = 0 ==> TRUE
22 MOD 5 = 2 ==> FALSE
于 2009-07-18T01:32:50.310 に答える