漫画で入門!初心者向けプログラミング講座【PHP編】#5 『変数と定数』
漫画坊主です。
第5回 漫画で入門!初心者向けプログラミング講座 始めたいと思います。
第1回目はこちら 漫画で入門!初心者向けプログラミング講座【PHP編】#1『PHPとは』
前回 漫画で入門!初心者向けプログラミング講座【PHP編】#4 『文字出力と代数演算子』
今回【PHP編】#5 はプログラミングをする上で必要な『変数と定数』について勉強したいと思います。
※本編に移る前に注意
私の使用しているパソコンの OS が Windows10 ですので、
スクリーンショットがWindows10 となっております。予めご了承くださいませ。
本編でテキストエディタのスクリーンショットを使用しておりますが
こちらは【Sublime Text 3】を使用しております。
テキストエディタはご自身が使いやすいもので問題ありません。
もしテキストエディタを インストールしていない方 がいましたら下記からインストールできます。
それでは本編開始です!
◆目次
・変数
- 変数とは
- 変数の使い方
- 変数を【’ ’】または【” ”】で囲む
- 変数名について
- 変数を使った計算、文字連結
・定数
- 定数とは
- 定数の描き方
- 定数は上書きできない
- 定数名の大文字、小文字の区別
・変数・定数の型
・まとめ
◆変数
それでは早速、変数について勉強したいと思います。
まずは変数とは何かを漫画にしましたのでこちらをご覧ください。
※漫画制作中のため完成出来次第掲載いたします。申し訳ございません。
◆変数とは
プログラミング言語における「値を入れておく箱」のことです。
この箱に名前(変数名)をつけてよく使用する値(名前、数字など)を入れておくと
変数名を呼ぶたびに保持した値を呼び出すことができます。
恐らく説明だけだと分かりづらいので、実際に変数を使用してみましょう。
◆変数の使い方
それではまず今ままでのおさらいです。
【漫画坊主です】という文字を10回コピペを使わずに書いてみましょう。
ソースの【<br>】については分からない方は記事に詳しくまとめているので
こちらのリンクをクリックしてご確認ください。 ※別ウィンドウで開きます
初心者向け!プログラミング講座 【PHP編】『改行、空白、エスケープシーケンス』
書けましたか?このソースをブラウザで表示するとこうなります。
お分かりの通り【漫画坊主です】が10回表示されました。
ではこの【漫画坊主】を【坊主漫画】に変更してください。
と言われると修正が大変ですよね…
これが100箇所修正となると辛いですよね…
そんな時に変数を利用すると、1ヶ所修正を加えるだけで済みます。
ではこちらのソースをご覧ください。
変数を記述するときには【 $ 】を使用します。
※【 shift + 4 】同時押しで【 $ 】が記述できます。
この【 $ 】の直後に変数名を記述します。※半角英数字と【 _ 】を使用できます。
変数名を記述したら 半角スペースを空けて【 = 】を記述し
その直後に変数に格納する値を記述します。
変数の中身を出力するときは【 echo 】で出力できます。
また、変数と文字列を連結するときは【 . 】を使用します。
では実際に出力してみましょう。
変数に【 坊主漫画 】を代入するだけで10ヶ所とも出力されています。
この変数ですが途中で値を変更することができます。
こちらのソースをご覧ください。
途中で変数【 $name 】の値を変えています。
この場合どうなるのかブラウザで確認していましょう。
変更を加えた箇所から値が変化しているのが分かります。
◆変数を【’ ’】または【” ”】で囲む
前パートで勉強した内容で、文字列を出力するときには
【’ ’】シングルクォーテーション または【” ”】ダブルクォーテーションで囲うとお話しました。
実は変数も囲うことができます。
なので変数と文字列をいちいち【 . 】で文字連結する必要がありませんが、
変数を囲うときに【’ ’】と【” ”】を使い分けなければなりません。
使い分けの理由についてはこちらのソースを実行すると分かるかと思います。
早速ブラウザで確認してみましょう。
結果を見てもらうと分かるように、【’ ’】シングルクォーテーションは
変数名をそのまま出力しています。
【” ”】ダブルクォーテーションは変数の値を展開しているのが分かります。
◆変数名について
変数名ですが、【 $ 】の直後に半角英数字と【 _ 】を使用して命名します。
【 $ 】の直後の1文字目を数字で書くことは出来ません。ですが【 _ 】アンダースコアなら可能です。
$_1hensu 1文字目がアンダースコアはOK。
また、変数名には複数の単語を変数名に使用する場合があります。
例えば manga と bozu の2つを組み合わせるとき、単語に区切りをつけます。
単語の区切りには主に3つの記述方法があります。
◆キャメルケース (camel case) 例 : $mangaBozu
複合語をひと綴りで表現し、次の単語の始まりを大文字で記述する方法
◆スネークケース(snake case) 例 : $manga_bozu
単語の区切りをアンダースコア( _ )で記述する方法
◆パスカルケース(pascal case) 例 : $MangaBozu
キャメルケースと似ていますが、最初の単語も大文字で記述します。
主に使われるのはキャメルケースとスネークケースです。
◆変数を使った計算、文字連結
前回、数字を使った計算をお伝えしましたが、変数でも計算をすることができます。
下記のソースをご覧ください。
ブラウザで確認しましょう。
ちゃんと計算できていますね。
今度は変数ならではの計算の仕方も勉強しましょう。
まずは下記のソースをご覧ください。
上記のソースは変数の中にある数字に
直接加算や、減算した結果を変数に格納します。
〇の部分に代数演算子(+ - * / % **)を記述します。
実際、計算結果がどうなっているのかピンと来ないかと思いますので、
ブラウザで確認してみましょう。
結果を見て「ん?」と思う方がいるかもしれませんが、
変数の値は常に変化しています。
今回のソースで説明すると、最初 $number の中身は「0」です。
$number の「0」に「20」を加算した結果「20」を $number に格納し、
$number の「20」に「10」を減算した結果「10」を $number に格納し、
$number の「10」に「10」を乗算した結果「100」を $number に格納し、
という具合に変化していきます。
今度は変数の中の値に直接文字連結をする方法を確認しましょう。
まずはこちらのソースをご覧ください。
変数に文字列を予め入れておくのですが、上記のソースのように、
【 “” 】ダブルクォーテーションまたは【 ” 】シングルクォーテーションを
空白を空けずに変数に入れると何も値の入っていない文字列として認識されます。
この変数に連結したい文字列を指定します。
では出力結果をブラウザで確認してみましょう。
指定した文字列が連結されていくのが分かります。
最後にここまで読んできたことのおさらいで、こんなソースを用意してみました。
ブラウザ用ではこうなります。
変数はかなり奥が深いのでいろいろ試してみるといいでしょう。
◆定数
続いては定数について勉強したいと思います。
まずは定数と変数は何が違うのかを漫画で確認しましょう。
※漫画制作中のため完成出来次第掲載いたします。申し訳ございません。
◆定数とは
定数は先程の変数と同じく、名前を付けた箱に値(文字、数字)を保持することができます。
ただ、変数と違うところは1度箱の中に値を入れると、別の値を入れられないことです。
この定数を使用するタイミングとしては、変わることのない値(会社名、人物名など)を
変更ができないように保持します。
では実際に定数の使い方を確認してみましょう。
◆定数の描き方
それでは、定数の記述方法を見ていきましょう!
まずは、こちらのソースをご覧ください。
このソースを見て、「関数って何?」と思われた初心者の方いるかと思います。
もう少し後の回で詳しく説明するのですが、PHPには予め用意されている便利機能が存在します。
この関数のことを【組込関数】といいます。
今回使用する組込関数は、【 define 】という定数を定義する機能です。
変数は【 $変数名 】で定義出来ましたが、
定数は【 define 】関数を使用しなければなりません。
まだ関数についてピンと来ないかもしれませんが、
今はこういう風に使うんだなーぐらいでいいと思います。
第1引数に定数名 ※一般的に大文字英数字で命名します。
第2引数に値をセットします。
いきなりこんなこと言われても「そもそも引数って何?」ってなりますよね…
今はここのことを指しているとだけ思ってください。
引数は【 , 】区切り第1引数、第2引数、第3引数という具合に増えていきますので
第〇引数と言われたら、左から○番目の引数だと思ってください。
少し話が長くなりましたが、ブラウザで確認してみましょう。
◆定数は上書きできない
定数は、1度定義すると変数のように上書きが出来ません。
実際に確認してみましょう。こちらのソースをご覧ください。
同じ定数名で値だけ変えています。
ではブラウザで確認してみましょう。
同じ定数名で値を変えようとすると、
「すでにNAMEは定義されています」というエラーが表示されます。
定数は上書きできないというのがお分かりいただけたかと思います。
◆定数名の大文字、小文字の区別
続いては、定数名を大文字、小文字の区別をせずに
定数を使用する方法を紹介したいと思います。
先程【 define 】の引数についてお話致しましたが、実は第3引数が存在します。
この第3引数には定数の大文字、小文字を区別するかどうかを指定します。
※この第3引数は任意ですので、書かなければ【 false 】として扱われます。
ではソースを確認してみましょう。
大文字、小文字を区別しないように指定しました。
ブラウザ上でどうなるのか確認してみましょう。
定数名を大文字でも、小文字のどちらでも値が出力できているのが確認出来ました。
特に指定する必要はありませんが、第3引数を【 false 】にするとどうなるのでしょうか?
ではブラウザ上で確認してみましょう。
エラーが出力され、小文字の【 name 】は出力されていません。
◆変数・定数の型
最後に型について勉強しましょう。
変数や、定数には型というものが存在します。
整数であれば【 integer 型】、浮動小数点であれば【float 型】、文字列であれば【string 型】
真偽値であれば【boolean 型】という具合に決まっています。
これらの型を変数や、定数に入れるとその型で定義されます。
これを【 変数宣言 】と言いますので覚えておきましょう。
下記が変数、定数の型の例です。
まだ教えていない型もありますがそちらは後に勉強します。
ざっと型についてお話しましたが、恐らくピンと来ないと思います。
実は【 PHP 】は入れる値に応じて自動で型を指定してくれます。
なので型と言われても最初のうちは難しいかもしれません。
ですが、たくさんソースを書く中で理解度が高まっていくのでご安心ください。
自動で型を指定してくれるとお話致しましたが、
もし、型は決まってるけど指定方法が分からない場合はとりあえず下記の値を格納すると
型を予め指定することができますので覚えておきましょう。
ちなみに変数、定数の型を確認したいときは【 var_dump 】という組込関数を使用します。
【 var_dump 】についてはこちらの記事に詳しくまとめているので
気になる方は確認してみて下さい。 ※別ウィンドウで開きます。
初心者向け!プログラミング講座 【PHP編】『 var_dump , var_export , print_r の違い』
◆まとめ
・変数名の命名にはキャメルケース、スネークケースを使用する。
・変数には型が存在する( int型、string型、boolean型、array型など)
・定数は変数と違い、値を一度入れると別の値を入れることができない。
・定数は【 define( ”定数名” , 値 ); 】で値を入れることができる。
以上で 漫画でプログラミング講座【PHP編】#5『変数と定数』を終了したいと思います。
次回は『条件分岐 if 文』について詳しく勉強しましょう!
最後まで読んで頂きありがとうございました!
◆良かったら息抜きに私の描いた漫画も読んでみて下さい!
漫画坊主の漫画はこちらから
◆プログラミングの勉強を続ける場合はこちらから!
プログラミングの勉強はこちらから