私は、PHP の if文の条件式の中で代入を行うことが多いです。
例えば、
1 2 3 |
|
この結果は
string(4) "hoge"
です。
条件を増やしたくて次のようにしました。上記と同じ結果になることを期待しています。
1 2 3 |
|
この結果は
bool(true)
となってしまいました。うほ!!
なんということでしょう。
これにハマってしまいました。
正解は
1 2 3 |
|
で、この結果は正しく
string(4) "hoge"
になりました。
詳しいことはよく分からないけど、PHP の演算子の優先順位[10]によるものらしいです。
演算子の優先順位が "||" > "=" > "or" ということだそうです。
「これからも、気をつけないと」ということで、書き留めておきました。
(This host) = https://xoops.hypweb.net