PHP入門

論理演算子

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
while構文やif構文などの条件には、複数の条件を組み合わせて「または」や「かつ」といった論理演算子でつないで複雑な条件を作り出すことができます。ここでは、論理演算子を利用する方法を紹介しましょう。
講師:
10:23

字幕

ここでは論理演算子というものを紹介していきます。今画面に表示されているこれらの記号が「論理演算子」と呼ばれるものです。&& という記号を2つ重ねたりですとか縦棒2つという記号を重ねたりもしくは and とか or とそのまま書くという書き方で「かつ」とか「または」というのを表すことができます。例えば if 構文などを使っている時に先程のレッスンで10 歳以上とか 20 歳未満というような条件を作りましたが、例えばある時 10 歳から 20 歳までの間だけ買えることができる商品などがあったとしましょう。その場合、10 歳以上 20 歳以下という条件を2つ組み合わせなければなりません。このような時に論理演算子を使って10 歳以上でかつ 20 歳未満というような条件を作りだす、これが論理演算子の使い方です。実際のスクリプトで見ていきましょう。それでは MAMP のアップロードフォルダ、MAMP フォルダの htdocs の中にフォルダを1つ作ります。ここでは lesson03-08 としましてここにテンプレートの html をコピーしていきます。ここでは index.html の拡張子を index.php に置き変えて、Dreamweaver で編集していきましょう。 そしてここでは論理演算子とします。それで論理演算子としましてここではこれまでのレッスンと違ってちょっとフォームと組み合わせるのをやめて普通に変数をここで作るようにしましょう。例えば age という変数に対してまずは 8 と入力します。つまり 8 歳であることを示します。この時 if として $8 が 10 歳よりも上つまり 10 以上であるかどうかを判定するスクリプトというのはこれまでのレッスンでやってきました。こちらで例えば「購入することができます」ということで10 歳以上であることを示しましょう。例えばここで else として「購入することができません」ということでエラーメッセージを表示します。まずはこのスクリプトで動きを確認してみます。else のあとはセミコロンではなくてコロンです。では MAMP を起動して頂いてApache を起動します。そしてウェブブラウザに切り替えて頂いて今回は lesson07-08/index.php になります。今ここでは「購入できません」というメッセージが表示されました。これは $8 という変数に 8 という値が記録されていますので、10 以上であるかどうかを判定するこの条件を満たすことができません。 そこで2つ目 else のあとにある購入できませんというメッセージが表示されてしまっているわけです。ここで age を 12 などと 10 よりも上にした場合どのような動きになるかといいますと、これは 10 以上というこちらの条件を満たすことができますので、「購入することができます」というメッセージに変わります。そして $age は 10 以上であれば、例えば 25 などという年齢でも同じように「購入することができます」となります。ですが例えばここで 20 歳よりも上の場合は、購入することができないという条件にする場合どうしたらよいかといいますと、先程出てきた論理演算子を使っていきます。ここで購入することができる条件としてどのようなものがあるかといいますと、$age が 10 よりも上であること、そしてもう一つの条件が$age が 20 よりも下であることという2つの条件を両方満たさなければなりません。そのため論理演算子として使うのは「かつ」という意味を表す && という記号になります。ではこちらのスクリプトで一度確認をしてみましょう。今 $age には 25 という数字がセットされています。 ですのでこのスクリプトは動かすと「購入できません」となります。なぜなら $age が 10 以上という条件は満たしているんですが、$age が 20 以下というこちらの条件を満たしていません。条件が満たされているものと満たされていないものを&& 「かつ」でつないだ場合、この全体の条件は満たしていない方に引っ張られて全体として満たしていないという条件になってしまいます。そこで2つ目 else のあとである「購入できません」に行ってしまうわけですね。同じく今度はこれを 8 などとした場合もやはり「購入できません」になります。なぜなら今度は 20 以下という条件は満たしているんですけれども、10 以上という条件を満たさなくなっていますのでやはり同じように 10 以上であるという条件を満たさず全体として条件が満たされません。そこで「購入できません」に飛んでしまったというわけです。ではこの条件を満たすための age は何かといいますと10 よりも上で 20 よりも下である例えば 12 ですとか 16 というのがこの条件を満たす数字になります。実際に動かしてみますと、「購入することができます」となりました。 このように論理演算子というのを使ってあげると、2つの条件、それ以上でも結構です。例えばここにさらに && と繋いでもっともっと条件を組み合わせることもできます。このように && やそれからor を表す縦棒2つという記号などを使ってあげることで複雑な条件を作ることができます。そして論理演算子の場合、書き方が2通りあります。&& と書くこともできますし、アルファベットで and と書いても同じようなスクリプトになります。どちらで書いて頂いても構いませんが、スクリプトらしい書き方としましてはこの && という記号がよく出て来ますので、もしよろしければこちらで慣れてしまうと様々なスクリプトを理解するのに助けになるかもしれません。この論理演算子を使う時に気を付けなければいけないのは、どの論理演算子を使うのかというのを正しく組み合わせなければいけません。例えばこの場合、$age が 10 以上で $age が 20 以下という条件に対して、or を表す縦棒2つを組み合わせてしまったとします。これは条件としておかしなことになります。これは例えば $age が 8 の場合これは条件を満たしてしまいます。 12 これも条件を満たしてしまい、25 これも条件を満たしてしまいます。つまりこの if 構文は全体で全く意味のない条件になってしまっているのです。少し詳しく見ていきましょう。$age が 10 以上という条件と$age が 20 以下という条件が2つ重なっていて、それが or 「または」という論理演算子で繋がっています。例えば $age 25 の時を考えてみますと、25 は $age が 10 以上という条件を満たしています。しかし $age が 20 以下というこちらの条件は満たしていません。しかし「または」というこの論理演算子は、どちらか一方が満たされていれば全体として満たされているという条件になるという論理演算子です。そのためこの場合は10 以上の条件を満たしているということで全体が満たされてしまいます。同じように 8 を確認してみましょう。この場合 $age が 10 以上という条件は満たしていませんが、$age は 20 以下という条件を満たしているため、両方の条件は全体的に満たされているという形になってしまいます。念のため 12 の場合も確認しておきますと、10 以上は満たしていますし20 以下も満たしているので両方が満たされていて全体として満たされているという条件になるんですけれども、結果としてどんな数字が入っていてもこの条件は満たされてしまうことになるので意味のない条件になってしまっているわけです。 そのためこの場合は必ず && ということで論理演算子としては「かつ」というのを組み合さなければならないということになります。かなり頭で考えるのは難しいかもしれませんが、どんな条件の時に満たされてどんな条件の時に満たされないのかというのを例えば紙などに図で書いたりしてしっかり最初のうちは確認しながら論理演算子を組み立てていくといいかもしれません。なお先程ご紹介した論理演算子の中で「排他」というのと「否定」という2つの論理演算子がありました。これらは使うことはあまりありません。「否定」というのはスクリプトに慣れてくるとたまに使うことが出てきますけれども「排他」に関してはほぼ使うことはありませんので、今の時点では覚えなくてもいいかもしれません。かなり高度なスクリプトを作る時に使う時が出てきますので「排他」というこちらの xor という書き方があるということは少し覚えておくといいかもしれません。まずはぜひこの「かつ」とそれから「または」というのは非常によく使う論理演算子になりますので使い方をマスターしておくといいと思います。

PHP入門

このコースでは動きのあるWebサイトでショッピング、友人との写真を共有、キーワードによる情報検索など便利な仕組みを作るための技術であるPHPについて解説します。これまでプログラミングに触れたことがない方でも、ちょっとしたプログラムを自分で作ることができるようになります。

4時間56分 (29 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2014年01月29日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。