この章では論理演算子を使った複雑な条件文について説明します。
論理演算子を使うことで関係演算子だけではできなかった複雑な条件式を記述することが可能になります。
論理演算子を挟んだ左辺と右辺には関係演算子を使った条件式を記述します。 では例をみてみましょう。 andはandの右辺も左辺も条件を満たしている場合のみ全体の条件式がtrueになるので、この例の場合は両辺とも条件を満たしているのでtrueになります。
結果は次の通りです。
次の例をみてみましょう。 orは右辺もしくは左辺のどちらかの条件式がtrueの場合に全体の条件式がtrueになります。
この例では左辺は条件を満たしているけど、右辺は条件を満たしていませんが全体はtrueになります。
結果は次の通りです。
次の例をみてみましょう。 aは0でtrueではないので(false),条件は成立します。
結果は次の通りです。
上の例は次のように書き替えると解りやすくなります。 この例の意味はaがtureではないならば、if文を実行します。
aは0でtrueでは無いので、if文は実行されます。
もう一度trueとfalseの意味を見直してみましょう。 先ほどの例をみていただくと分かりますが、trueもしくはfalseであるかを確認する時に条件式にを入れることができます。
falseの場合には以下のように書きます。 結果は以下の通りです。
タグ: and
この章では論理演算子について説明します。
if文にの章で関係演算子を説明しましたが、if文でもっと複雑な条件定義をしたい場合には論理演算子を使用します。
では例をみてみましょう。
条件式のの中でandを挟んだ両辺が TRUEの場合のみ条件式がTRUEになります。
つまり、もしくは の片方がFALSEの場合には条件式はTRUEになりません。
これが論理演算子のandの機能です。
結果は「$b==9」がFALSEなので、が出力されます。
次の例をみてみましょう。
andは$aと$bの両辺がTRUEの場合に条件式がTRUEになりましたが、orは$aと$bのどちらかがTRUEの場合に条件式がTRUEになりますので、この例の場合はがFALSEですが、条件式はTRUEになります。
結果はになります。
次の例をみてみましょう。
「!$a」と「$a==FALSE」は同じことを意味しています。
条件式であるの意味は$aがFALSEであるならば条件式はTRUEになると言う意味です。
ここで上のTRUEとFALSEの条件を見てみるとFALSEとは整数の0と書いてありますので、この例の場合は条件式はTRUEになります。
「!」を付けることで条件式がTRUEではない場合にTRUEになります。
条件式で真偽を調べるときに明示的にのようにFALSEやTRUEを使うことが出来ることを覚えておいてください。
もう一つ「!」の例を示します。
これは先ほどの例に「!」を付け加えたのですが、このように「!」を使うことで、実行結果が逆になります。
結果は「TRUEではありません」です。
次は論理演算子の順位について説明します。
では例をみてみましょう。
論理演算子が2つありますが、最初に実行されるのはandなので、あえて括弧で囲みますと以下のようになります。
orは両辺のどちらかがTRUEであれば条件式がTRUEになりますので、結果はになります。
また以下のようにorを中心に評価されるのではないことに注意してください。
つまり、から先に結びつくのではないということです
では次の例をみてみましょう。
「$b==2」 と 「$c==4」の結びつきが優先されますので、以下のような括弧の囲みにはなりません。