カテゴリー
PHP

for文について知ろう

この章ではfor文について説明します。
同じような処理を何度も繰り返すプログラムを書く場合、以下のように何度も同じ処理を書くのは面倒ですし、間違いも多くなりがちです。
1そこで、何回も同じ処理を繰り返す必要があるときに、for文を使えば簡単に記述することができます。
while文は何回も同じ処理をする必要があるときに必要でしたが、for文もwhile文と同じ働きがあります。
for文の詳しい説明は例の後に行います。1 では例をみてみましょう。1 forが最初に実行される時には1から始まります。
初期値式とは条件式を判定するときの初めの変数です。
初期値式は上の例で言えば1です。
次に初期値式を元に条件式を判定してTRUEであるならば、処理文が実行されることになります。
条件式は上の例で言えば1です。
処理文が実行された後に増減式において、初期値を足したり引いたりする行為を行います。
増減式は上の例で言えば1です。
プログラムの内容によっては1のように減算子の記述もできます。
順を追って説明します。
①初めに$iに初期値1を代入します。
初期値は1でなくても2でも3でも自由に決められます。
②$i<=3の条件式を判定します。
ここがTRUEであるならば1を実行します。
$iは1で3以下なので、1を実行し1を出力します。
③それから$i++で$iに1を足し、$iは2になります。
④そしてまた条件式の判定に入り、上の3で$iは2になりましたが、まだ3以下なので1を実行し、1を出力します。
⑤それから$i++で$iに1を足し、$iは3になります。
⑥そしてまた条件式の判定に入り、上の5で$iは3になりましたが、まだ3以下なので1を実行し1を出力します。
⑦それから$i++で$iに1を足して4になります
⑧そしてまた条件式の判定に入りますが、$iは1を加えられて4になりましたので、条件式はFALSEになりループを終了します。

カテゴリー
PHP

do-while文を知ろう

この章ではdo-while 文について説明します。
do-while 文はwhile文とほとんど働きが一緒ですが、while文は条件式がFALSEであるならば1度も実行することなく終了してしまいますが、do-while文は必ず1回は処理文を実行します。
そして処理文を実行してから条件式の判定に入ります。1 では例をみてみましょう。1 順を追って説明します。
①初めに$iに初期値1を代入します。
while文と違って、初めに条件式の判定はないので1を実行して、1を出力します。
そして下の2に進みます。
②「$i++;」の箇所で$iは1を加えられますので2になります。
③そして、この段階になって初めて1の条件判定に入ります。
$iは$i++で1が足されているので2になっていますが、2はまだ4未満なのでTRUEになります。
④3番はTRUEですので、先頭に戻って1を実行して、2を出力します。
⑤「$i++;」の箇所で$iは1を加えられますので3になります。
⑥そして、1の条件判定に入ります。
$iは$i++で1が足されているので3になっていますが、3はまだ4未満なのでTRUEになります
⑦6番はTRUEですので、先頭に戻って1を実行して、3を出力します。
⑧「$i++;」の箇所で$iは1を加えられますので4になります。
⑨そして、1の条件判定に入りますが、4はすでに4未満ではないのでFALSEになり、do-while文はここで終了です。
結果は「123」です。

カテゴリー
PHP

while文を知ろう

この章ではwhile文について説明します。
何回も同じ処理をする必要があるときにwhile文を使えば簡単に記述することができます。
例えば同じような処理を何度も繰り返すプログラムを書く場合、以下のように何度も同じ処理を書くのは面倒ですし、間違いも多くなりがちです。
そこでwhileを使うと簡潔に書くことが出来ます。1 while文の基本構文は以下の通りですが、詳しい説明は例の後に行います。1 では例をみてみましょう。
1初めにwhileが実行される時に条件式がTRUEかFALSEかをチェックします。
TRUEである場合にはwhileの処理文が実行されます。
FALSEである場合には処理文は実行されません。
whileは条件式がTRUEである限り何度でも処理を実行します。
順を追って説明します。
① $iに初期値1を代入します。
while ( $i < 4)の部分の条件式をif文と同じようにTRUEかFALSEで判定します。
1はまだ4未満でTRUEですので1を実行して、1を出力します。
FALSEであるならば何も出力されません。
そして次の2に進みます。
②「$i++;」の箇所で$iは1を加えられますので2になります。
③そして、また最初の1の部分に戻ります。
上の2番で$iは1を足されているので2になっています。
そして1の条件判定に入りますが、2はまだ4未満なのでTRUEになり、1を実行し、1を出力します。
④「$i++;」の箇所で$iは1を加えられますので3になります。
⑤そして、また最初のwhile ( $i < 4 )の部分に戻ります。
上の4番で$iは1を足されているので3になっています。
そして1の条件判定に入りますが、3はまだ4未満なのでTRUEになり、1を実行し、1を出力します。
⑥「$i++;」の箇所で$iは1を加えられますので4になります。
⑦そして、また最初の1の部分に戻ります。
上の6番で$iは1を足されているので4になっています。
そして1の条件判定に入りますが、4はすでに4未満ではないのでFALSEになり、while文はここで終了です。1 もし、$i++がないとどうなると思いますか?答えは無限ループと言いまして、1の条件部分が永遠に4以下にならないので無限に繰り返しを行いますので気を付けてください。

カテゴリー
PHP

加算子,減算子について知ろう

この章では加算子,減算子について説明します。
加算子は数値を1つ増やし、減算子は数値を1つ減らす演算子です。
加算子は1減算子は1で表示します。
まだ説明していませんがfor文などの繰り返し構文等に主に使われます。
11では例をみてみましょう。11
初めに前置加算子から説明します。1「++$a」は1と同じことを意味しています。
つまり1を計算してから、左辺の$aに結果を代入して、echoで出力していますので、1の出力結果は1になります。
$aはこの時点で9に変化しているので、1の結果は1になります。
次は後置加算子について説明します
1初めに$a に代入されている8を1で出力しているので、結果は1となり、その後に$a に1を加えているので11を出力します。
つまり、後置加算子では初めに1を無視した状態で出力し、それから$aに1を加算します。
次は前置減算子について説明します。111と同じことを意味しています。
つまり1を計算してから、左辺の$aに結果を代入して、echoで出力していますので、1の出力結果は1になります。
$aはこの時点で7に変化しているので、1 の結果は1になります。
次は後置減算子について説明します。1 初めに$a に代入されている8を1で出力しているので、結果は1となり、その後に$a から1を引いているので11になります。

カテゴリー
PHP

複合演算子を知ろう

この章では複合演算子について説明します。
算術演算子」と代入演算子を複合して使用しているので、複合演算子と言います。
算術演算子は「+」などの演算子で、代入演算子は「=」です。
では例をみてみましょう。111
1
1 「$a +=3;」は1と同じ意味ですので、1の結果は8です。
「$a -= 3;」は1と同じ意味ですので、1の結果は2です。
「$a *= 3;」は1と同じ意味ですので、1の結果は15です。
「$a /= 3;」は1と同じ意味ですので、1の結果は1です。
「$cats .=”走る”;」は1と同じ意味ですので、1の結果は1です。

カテゴリー
PHP

算術演算子を知ろう

この章ではプログラム内での計算について説明します。11
算術演算子とは
「+」「-」「*」「/」「%」
のことを言います。
以下の表を参考にしてください。1 「$number1+$number2」は加算を行っているのですが、$number1には5、$number2には3が入っているので、この変数の値同士を1で足しています。
特に数値を変数に入れる必要性がないのであれば1と計算していただいても結構です。
「$number1-$number2」は減算を行っているのですが、$number1には5、$number2には3が入っているので、この変数の値同士を1で引いています。
特に数値を変数に入れる必要性がないのであれば1と計算していただいても結構です。
「$number1*$number2」は乗算を行っているのですが、$number1には5、$number2には3が入っているので、この変数の値同士を1で掛けています。
特に数値を変数に入れる必要性がないのであれば1と計算していただいても結構です。
「$number1/$number2」は除算を行っているのですが、$number1には5、$number2には3が入っているので、この変数の値同士を1で割っています。
特に数値を変数に入れる必要性がないのであれば1と計算していただいても結構です。
「$number1%$number2」は剰余を行っているのですが、$number1には5、$number2には3が入っているので、この変数の値同士の除算の余りを算出します。
特に数値を変数に入れる必要性がないのであれば1と計算していただいても結構です。
「$number1*$number2+100」は掛け算と足し算を行っているのですが、計算の優先順位が高いのは掛け算です。掛け算を行ってから足し算を行います。
これは算数の計算順序と同じです。足し算から計算したい場合は1と、カッコを足し算に付け加えてください。
カッコを付けることで優先順位が掛け算より高くなります。
注意してほしいことが1点あります。
それは1のように文字列と計算式を文字列連結演算子でつなげる場合には注意が必要です。
結論から先に言いますとこの例はエラーになります。プログラムは文字列を連結する「.」を小数点と勘違いしてエラーを出しています。
ですのでこの計算式には以下のようにカッコを付けてください。1

カテゴリー
PHP

switchで占いを作ろう

この例はswitch文で分岐して、占いを作成しています。11111 $numberには0から6までのランダムな数値が入ります。
その数値とcase文を比べて一致しましたら、$resultに結果が入り、その$resultをprint文で出力しています。
1は「数値に関する関数を知ろう」で説明しますが、これは関数と言われているものです。
関数については「ユーザー定義関数について知ろう」で詳しく説明します。
ここでは関数について、少し説明します。
PHPの関数の仕組みはエクセルの関数の仕組みと意味は同じです。
エクセルをご存知の方はわかると思いますが、エクセル関数にSUMと言う関数が有りますが、この関数は指定した範囲のデータに基づいて足し算を行う関数です。
例えば指定した範囲のデータが3,5,7であるならば結果は15です。
SUMには初めから指定した範囲の足し算を行うと言う仕組みが備わっています。
つまり、エクセルの内部機構でSUMの機能は指定した範囲の足し算を行うと言うプログラムがされていると言うことです。
これが関数の意味です。
mt_rand関数は乱数を生成するという決められた処理を行い、乱数と言う結果を返します。1 この例の場合には最小値が0で、最大値が6なので、0から6までのランダムな数値が$numberに入ります。

カテゴリー
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