橘奈由です。
だんだんと冬らしい寒さになってきましたね。
先日23歳の誕生日を迎えましたので、母からずっと欲しかった白いコートをプレゼントしてもらいました♪
お気に入りのコートがあれば、少し寒くてもお出かけが楽しくなりますね。
そんな寒い日ですが、今日もPHPのお勉強をしたいと思います。皆さんも私と一緒にPHPを勉強してみませんか?
今回は実際にプログラミングを実践してみます!
本日の目標はこちら。
1. 変数について理解する。
2. 「if文」、「while文・for文」を理解する。
3. while文・for文の違いを理解する。
今回はテキスト『徹底攻略PHP5技術者認定[初級]試験問題集』を使って学習していきたいと思います。
学習する章はこちらです。
第二章 テキストと数の操作
第三章 判定と繰り返し
1. 変数について理解する。
変数とは、「プログラムが動作する際に使用する値を保存する箱のようなもの」です。(徹底攻略PHP5技術者認定[初級]試験問題集p.28)
数学で習うような「代入」がイメージとして近いのではないでしょうか。
例えば
y=2x+5
x=3のとき
y=2・3+5
y=11になりますね。
ここでいう変数xはphpでは$を使って表します。
$変数名=’代入する値’;
例
<?php
$name=’橘奈由’;
print”私の名前は$nameです。”;
?>
これを実行すると、画面には
私の名前は橘奈由です。
という風に表示されます。
変数名を指定する際に二つ、条件があります。
(1) 先頭の文字をアルファベットまたはアンダースコア「_」にする。
(2) 2文字目以降の文字には、アルファベット、数字、「_」のみ使用。
テキストには、変数名の指定に関する問題がありました。
一緒に解いてみたいと思います。
変数名の指定として間違っているものを選択する問題です。
A. BANANA
B. 5banana
C. Fruits_Banana
D. _banana
E. apple-banana
F. apple7
先ほどの条件に沿って考えると、数字から始まっているB.5bananaと、変数名にアルファベット、数字、「_」以外が含まれているE.apple-bananaが変数として正しくないと言えるでしょう。
ちなみにprintとは、指定した文字列を出力します。
値を代入するだけなので、ここまではなんとか理解できました♪
では次にif文・while文・for文について学んでいきましょう。
2. 「if文」、「while文・for文」を理解する。
if文
if文は条件に従って結果を表示してくれます。
身近な例を作ってみました♪
家族で遊園地に行ったときなどを想像してみてください(笑)。
もし【小学生以下】だったら…
子ども料金
それ以外だったら…
大人料金
【小学生以下】か、それ以外で子ども料金か大人料金という風に結果が変わってきますね!
phpではこのように表します。
if( 条件 ){
条件がtrueの場合の処理
・・・
}else{
条件がfalseのときの処理
・・・
}
このif文の条件には、値や式を指定することができるようです。
コードを見ていると英語や記号ばかりで「わっ(苦笑)」となってしまいますが、自分の中で簡単な例に置き換えて考えると、なんとなく理解しやすいような感じがします♪
while文
while文は繰り返し処理をするときに用います。
実際にソースを見てみたいと思います。
一番わかりやすいシンプルな例を見つけました♪
<php
$i=1;
while($i<=10){
echo $i++.”<br>\n”; //改行しながら値を表示して+1
$i++;
}
?>
実行結果
1
2
3
4
5
6
7
8
9
10
引用:そふぃのPHP入門
このようになります。
「$i」は先ほど学習した「変数」ですね!
$iには「1」が代入できます。1を表示させたあと、値に1を足しながら10になるまで「繰り返す」というものですね。
$i++の「++」は、変数に1を足すという意味です。
ちなみに「–」は、変数から1を引くという意味になります。
簡単な例を挙げれば、お風呂に目盛りがあると想定して、その目盛りが10になるまでお湯を入れ続ける、というように考えられるでしょうか。
組み合わせれば色々出来そうですね♪
3. while文とfor文の違いを理解する。
繰り返すを表すのは、for文も同じです。
一般的には「for文は繰り返す回数が明らかな場合に利用し、while文は繰り返す回数が不明な場合」に用いるそうです。(徹底攻略PHP5技術者認定[初級]試験問題集p.45)
for文はこのように表します。
for(初期処理; 条件; 後処理;){
繰り返し処理
・・・
}
(徹底攻略PHP5技術者認定[初級]試験問題集p.45)
ここでいう「条件」には、繰り返す回数を入れることが出来ます。
例:
<?php
for($i=1; $i<11; $i+){
print ($i.”<br/>”);
}
?>
実行結果
1
2
3
4
5
6
7
8
9
10
あら、先ほどと実行結果が一緒になりましたね!
実行結果だけ見ると違いには気がつきませんが、ソースを見るとwhile文では「〜になるまで繰り返す」というように、繰り返す回数が分かりませんでしたが、for文は「〜回まで繰り返す」が明確になっているのが分かります。
これらの違いを理解した上できちんと使い分けが出来るようになりたいですね♪
今日のまとめと次回予告
今日は、変数や条件分岐のif文、繰り返しのwhile文とfor文について学習しました。
if文は具体例が想像しやすかったので、理解するまでが早かったですが、繰り返しのwhile文とfor文の違いなど正直「ん?」となる部分が多かった気がします。
しかし、色んな方が書いた具体例などを見てみると、ちょっとづつ分かるようになったかもしれません。
次回は、配列と関数を学習していきたいと思います。
お楽しみに♪
本コラムは学習中の内容をまとめたものである為、誤記がある場合がございます。予めご了承ください。
執筆者:橘奈由 氏 Twitter @NayuTachibana
2014年度新卒IT企業入社の橘奈由(たちばな なゆ)です。プログラミング初心者の私が今日から60日間PHPを本気で勉強します。今回、12月末に行われるPHP技術者認定試験に合格するまでの記録としてコラムを書かせて頂きます。