2012年12月12日水曜日

[PHP]演算子の優先順位

以下のサイトで説明していただいているように、演算子には優先順位があります。

演算子の優先順位

今日以下のようなコードを書いていたのですが、

$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 件のコメント:

コメントを投稿