演算子の優先順位
今日以下のようなコードを書いていたのですが、
$votable_flg = !empty($auth) and $check <1 and $theme['Theme']['kind']==1;
$votable_flgには"!empty($auth)"の値(真偽値)しか代入されていませんでした。
"or"や"and"より"="が優先されて処理されるためのようです。
なので、"="の右辺を以下のように丸括弧でくくると、期待通りの値が代入されました。
$votable_flg = (!empty($auth) and $check <1 and $theme['Theme']['kind']==1);
0 件のコメント:
コメントを投稿