カテゴリー
PHP

switch文を知ろう

この章ではswitch文について説明します。
if文と同じく条件分岐できるのがswitch文です。11
「switch (式 )」の中の11と一致するとbreakまでの文が実行されます。
つまり、以下のような動作をします。
「式」の部分が値1と一致すれば、式が値1と同じ時に実行される処理を実行して、値2と一致すれば、式が値2と同じ時に実行される処理を実行して、どれにも当てはまらない時にdefaultの部分の式がいずれの値にも違う時の処理を実行します。
「switch (式 )」の中の11の中の値が一致したときにはbreakでswitch文を抜けることが出来ますが、breakは一連の流れを強制的に中止したい時に使用します。
switch文でbreakを使う場合にはbreakでswitchのブロックを抜けます。
また、1の部分は整数、浮動小数点、文字列を使うことが出来ます。
switch はifと似た働きがあるので比べてみましょう。1111
if文もswitch文も$aの値が2の時にecho文が実行されます。
if文の場合は以下の箇所で一致します。
1switch文の場合は以下の箇所で一致します。
1結果はどちらも1です。
次はbreak文が記述されてなかった場合にどうなるのかを説明します。
では例をみてみましょう。
11「式」の値がcaseの値に一致した場合、breakの箇所まで処理を実行していきますと説明しましたが、breakが無いと、次のbreakか もしくはbreak がどこにもない場合にはdefaultの箇所まで処理が実行されてしまいます。
上の例で説明しますとbreakがあるならば$aが2なので、1の箇所の1を実行して処理が終わるはずのところ、breakが無いと、そこで止まらず下に抜けて行ってしまいますので、最後のdefaultまで実行されることになります。
ですので、この例の実行結果は1と、なります。
次にcase文を複数設置する方法について説明します。
breakまでの間にcaseを複数設置して、同じ処理を実行させることが出来ます。
では例をみてみましょう。11
このケースでは$rainには40が代入されていますので、switch文の中の以下の部分に合致しますので、結果は1です。
1でも1でも結果は同じです。1

カテゴリー
PHP

論理演算子を知ろう

この章では論理演算子について説明します。
「if文について理解しよう。if文の基本構文1」の箇所で比較演算子について説明しましたが、if文でもっと複雑な条件定義をしたい場合には論理演算子を使用します。111
では例をみてみましょう。1 1論理演算子andを挟んだ両辺に11 が配置されていますが、両辺がTRUEの場合のみ条件式がTRUEになります。
つまり
1もしくは1の片方がFALSEの場合には条件式はTRUEになりません。
これが論理演算子 andの役割です。
結果は「$b==9」がFALSEなので、1が出力されます。
次の例をみてみましょう。11 andは$aと$bの両辺がTRUEの場合に条件式がTRUEになりましたが、orの場合は$aと$bのどちらかがTRUEの場合に条件式がTRUEになりますので、この例の場合は1がFALSEですが、条件式はTRUEになります。
結果は「TRUEです」になります。
次の例をみてみましょう。
11上の例は1が TRUE,1の部分がFALSEなので、全体の条件式はTRUEになりますので、結果は1になります。1 上の例は11が共にTRUEなので、全体の条件式はFALSEになりますので、結果は1になります。
次の例をみてみましょう。11 上の例は先ほどのandの箇所で使用した例題に1を付けたのですが、「!」を付けることで条件式がTRUEではない場合にif文が実行されます。
結果は1になります。
次の例をみてみましょう。
1ただ単に変数に1が付いているだけですが、これでも条件式としては成り立ちます。
ではこの例の何がTRUEもしくはFALSEになるのかの判断基準を説明します。
FALSEとは
〇整数の0
〇浮動小数点の0.0
〇文字列の1〇何も入ってない文字列、
つまり1のように変数に何も入ってないカラ文字
〇要素が何も入ってない配列
〇NULL
NULLとは何も変数に入ってない状態を指します。
〇FALSEという文字
ここまでがFALSEです。
それ以外はすべてTRUEです。
例えば変数に中に1のようにFALSEの条件以外の値が入っていればTRUEです。
以下の例は$aに1が入っているので以下の条件式はTRUEです。1 先ほどの以下の例を書き換えてみましょう。1 上の例を書き換えると以下のようになります。1 1は同じ意味です。
条件式である1は$aが FALSEであるならばif文が実行されます。
このように条件式で真偽を調べるときに明示的にFALSE、TRUEを使うことが出来ることを覚えておいてください。
結果は「0はFALSE」なので1が実行されます。
次は論理演算子の優先順位について説明します。
論理演算子には順位がありまして、1の方が1よりも優先度が高い、つまり、先に実行されるという事です。
また、1が並んだ場合には、最初に評価されるのは1です。
例を見てみましょう。1 論理演算子が2つありますが、最初に評価されるのはandなので、あえて括弧で囲みますと以下のようになります。
orは両辺のどちらかがTRUEであれば条件式がTRUEになりますので、結果は1になります。1 以下のようにorを中心に評価されるのではないことに注意してください。1 では次の例を見てみましょう。1この例では1より1の方が優先順位が高いので、あえて括弧で囲みますと以下のようになります。11の結びつきが優先されますので以下のような括弧の囲みにはなりません。1

カテゴリー
PHP

三項演算子を知ろう

この章ではif文と似たような構造である三項演算子を学習します。1条件式がTRUEであればTRUEの時に実行される値が実行され、FALSEであるならばFALSEの時に実行される値が実行されます。
では例をみてみましょう。111 例 1は
1がTRUEであるならば1 1がFALSEであるならば1 が出力されます。
この例の場合はTRUEなので1が出力されます。
例 2 は例1とほぼ同じなのですが、結果を変数 $animalに代入しています。
つまりこの例では1と同じ意味になります。
そして$animalをprintで出力しています。
例 1と例2の例をif文で書き換えますと以下のようになります。1

カテゴリー
PHP

if文で星座を判定しよう

この章ではif文の応用として星座の判定をif文で作ります。
少し長いですが、if文が連なっているだけです。
では例をみてみましょう。
11
111111111111 長くなりましたが、説明を始めます。
初めに$Monthに入っている値をチェックして、その数字に一致するif文の箇所に入ります。
$Monthには1が入っていますので、以下の箇所に入ります。1 1月は水瓶座と山羊座の2つの星座があるので、これをさらに入れ子のif文で分別して、星座を求めています。
範囲以外の数値であれば1が出力されます。
結果は以下の通りです。1

カテゴリー
PHP

if文を入れ子にしよう

この章ではif文を入れ子にする方法について説明します。
if文は入れ子にすることが出来ます。
つまり、if文の中にif文を含めることができるということです。
では例をみてみましょう。11 $nameは手塚なので、最初のif文の条件式はTRUEです。
これにより、さらに入れ子の中のif文が実行されます。1 $ageは23で、18を超えていますので1が実行されます。
このようにさらに条件を絞りたい場合にifの入れ子を使用します。
つまり、手塚さんであることは確認しましたが、さらに年齢を確かめたいので質問しますね。
手塚さんは18歳を超えていますか?と言っているのと同じです。

カテゴリー
PHP

if文について理解しよう。if文の基本構文3

前章の「if文の基本構文2」の応用で、条件式が複数ある場合、つまり細かい条件を設定したい場合には1を使います。
基本構文1,基本構文2は条件に合うか合わないかを判断するのみのプログラムでしたが、1は条件式1がFALSEであるならば条件式2をチェックして、ここがTRUEの時に条件式2のブロックが実行されます。
条件式2がFALSEであるならば条件式3をチェックして、ここがTRUEの時に条件式3のブロックが実行されます。条件式3がFALSEであるならばelseのブロックが実行されます。11この構文ではelseif を2つしか書いていませんが、いくつでも指定することができます。
では例をみてみましょう。1 $aと$bは同じですので、1が実行されます。

カテゴリー
PHP

if文について理解しよう。if文の基本構文2

前章の「ifの基本構文1」では条件式がFALSEの場合には、if文のブロックは無視されて何の処理も行われませんでした。
そこで、その条件式がFALSEの場合に、何かしらの処理を行いたい時に用いるのが1です。1 では例をみてみましょう。1 「$wallet=15000;」は財布に15000円入っていると言う意味です。
そして条件式は財布に入っているお金が10000より少ないのならばと言う意味なのですが、財布には15000円入っているので、条件式はFALSEです。FALSEなので条件式がFALSEのときに実行される文つまり1が実行されます。

カテゴリー
PHP

if文について理解しよう。if文の基本構文1

if文はどのような時に使われるのかを日常生活の場面で説明します。
例えば、もし、今日財布にお金が10000円あったらフランス料理にして、20000円あったら中華料理にするなどの選択を繰り返して人は生きていますが、プログラムでもこのような表現ができるのです。
このように条件によって表現を変えることを条件分岐と言います。1 ifは英語と同じで1という意味です。
「条件式」には下の表のように比較演算子を使って11などを11のような記号を使って表現します。
11条件式は条件を満たしていればTRUEを返し、条件を満たしていないならばFALSEを返します。そして、TRUEの時にブロックの中の文が実行されます。
TRUEは真、FALSEは偽とも言いますが、何がTRUEもしくはFALSEなのかを次の例で説明します。1 条件式には比較演算子の1を使用していますが、5は2より大きいですので、条件を満たしていると考えるのです。
これがTRUEです。TRUEですので、1が実行されます。
では以下のif文は条件を満たしているでしょうか?1 2は5より大きくないので条件を満たしていません。
これがFALSEです。
FALSEの場合は、if文は実行されません。
つまり、ブロック内が何も実行されないので画面には何も表示されません。
では比較演算子の中からいくつか例に取って説明します。11 比較演算子の「===」は$a が $b に等しいと同時に同じ型である場合に TRUE と言う意味です。
変数の型については説明しましたが例1は$aも$bも同じ値で、同じ整数型なのでTRUEです。
例 2は$aは文字列型、$bは整数型なのでFALSEです。
このように1は値と型が一致しないとTRUEになりません。
比較演算子の「==」は値だけが一致していればif文を実行します。
例2の条件式の箇所を1で書き換えますと、TRUEになります。
「==」の場合には値だけが一致していれば型が一致しなくてもTRUEになります。
これまでのif文ではprint文が少し右にずれているのが分かるでしょうか?
この手法はインデントと呼ばれていますが、プログラムを見やすくするために左側にスペースを入れています。
インデントには半角スペースかTABキーを使います。全角のスペースを入れるとエラーになりますので気を付けてください。1

カテゴリー
PHP

foreach文について知ろう

この章ではforeachについて説明します。
foreach文はすべての配列の要素を簡単に取り出すことができます。
今までは以下のように1つずつ配列からデータを取り出していました。1 foreachを使用すると短い構文で簡潔に書くことが出来ます。1 では例をみてみましょう。1 では説明をしていきます。1 配列$animalの中の0番目のデータから順番に取り出されて$valueに代入されます。
そして$valueに代入された値は1で出力されることになります。
ですので、すべての配列のデータを順番に取り出すことが出来ます。1 次は連想配列から配列のキーと値を取り出す方法について説明します。1 キー変数とはキーが入る変数です。値変数とは値を入れる変数と言う意味です。
では例をみてみましょう。1「$key=>$value」にはそれぞれ111が順に入り、print文で出力されます。1 基本構文2は連想配列ではなくても使用することができます。
例を見てみましょう。1この配列は連想配列ではありませんが、添え字の0には猫、添え字の1には犬、添え字の2にはライオン、添え字の3には象、添え字の4にはネズミが入っていますのでキーが入る変数には添え字が入ります。
つまり、自動的に$keyには0から順に添え字が当てられますので
結果は次のようになります。
0は猫
1は犬
2はライオン
3は象
4はネズミ

カテゴリー
PHP

二次元の連想配列について知ろう

この章では二次元の連想配列について説明します。
今までの二次元配列は以下のように添え字に数値を使っていました。
1以下の例は二次元の連想配列の例ですので、キーは文字列になっています。
では例をみてみましょう。1 「animal」は1という3つの要素を含んでいます。
「insect」は1という3つの要素を含んでいます。
この例を書き換えますと以下のようになります。
arrayの中に2つのarrayが入っています。1 出力するときには以下のように指定します。1