\ Pinterest はじめました /

【PHP入門】プログラミング基礎学習 – 変数を理解する!

プログラミング基礎学習 - 変数を理解する!PHP

PHPのプログラミング基礎や基本を学びたい!という初心者向けに分かりやすく解説して行きたいと思います。

この記事では、PHPのプログラミング基礎の変数についてお伝えします。

初めての方は、順に進めてPHPのプログラミングの学習に役立てて頂けれたらうれしく思います。

環境概要

この記事でご説明する方法は、以下のパソコンで進めた内容になります。
ご自身と環境が違うことで、挙動が変わる場合があります。

PCスペック
  • OS:Windows 10 Home 64 ビット
  • CPU:Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz (8 CPUs), ~2.0GHz
  • GPU:Intel(R) UHD Graphics 620
  • メモリー:16GB

また、この記事内容では、以下の開発環境が前提となります。

前提条件
  • パソコンに「XAMPP」をインストール済み
  • パソコンにテキストエディタ「VSCode」をインストール済み
  • HTMLの基礎を少しは理解している

インストールがまだの場合は、以下からインストールをしましょう!

PHPのプログラミング基礎学習 – 変数を理解する!

この記事では、PHPのプログラミング基礎にフォーカスして学習できるようにまとめていきます。

PHPのプログラミング学習では、1度だけ読んですべて理解するのは難しく、大切な基礎の理解を深めるためには繰り返し読み直していただければ良いと思います。

変数を使う

PHPのプログラミングに欠かせない機能として、「変数」があります。

プログラムの開発を進めていくと、比例してどんどん制作規模が多くなり、内部で多くのプログラムの処理が行われるようになります。

その際には、計算処理したデータを保存しておき、必要な時にそのデータを再度使えるようにしておかないと、不要だと認識されて消去されてしまいます。

消去されないように、必要なデータを保存するように判断してもらうようにする命令を変数への代入になります。代入は、変数にデータを保存するという意味になります。変数をよく例えられているのが、データを保存できる箱だとイメージしてもらえれば理解しやすいかと思います。

正しい言い方をすると、変数にデータを代入する処理は、データをコンピュータのメモリに保存する処理になります。メモリに保存することで勝手に消去されませんが、一定のプログラムが終了するとルールに従い消去されてしまいます。

必ず残り続ける必要があるデータなどは、プログラムの中でデータベースに保存する事などが必要になります。

前置きが長くなりましたが、変数の代入を行いますので、以下のコードを「smaple.php」のファイルを開き書き直してください。

<?php
    // 「これは文字列データです」を$moji変数に代入
    $moji = "これは文字列データです";
    echo $moji;
?>

この記事は【PHP入門】プログラミングの基礎学習 – 文法ルールを理解する!の続きになります。同様のファイル名で作成して、進めることは出来ますが、冒頭の前提の環境での執筆内容になります。

$moji」が変数で、「"これは文字列データです"」が変数に保存する文字列データになります。頭に$(ドル)を付けた後に英数字を書くと変数と扱えます。

文字列は文字列型というタイプになります。文字列として認識させるには対象を「"」(ダブルクォーテーション)で囲います。「'」(シングルクォーテーション)でも文字列型として認識させれますが、使い分けはここでは割愛しますので、ここでは「"」(ダブルクォーテーション)で書いてください。

また、「=」は数学のイコール(右辺と左辺が同じ値)とは違い、プログラミングにおいては「右辺のデータを左辺の変数に代入する」という命令の働きになります。

smaple.phpを実行

では、上記のコードを書き ctrl + S で保存し、ターミナルを開いてphpコマンドで「sample.php」を実行しましょう。

> php sample.php

ターミナルにこれは文字列データですと表示されたと思います。echoはデータを表示する命令ですが、$mojiという変数名がそのまま表示されるのではなく、$moji変数に代入された実際のデータであるこれは文字列データですという文字列が表示されます。

イメージとしては、$mojiという名前の付いた箱の中に、これは文字列データですという文字列データを取り出して表示している状態になります。取り出したからと言っても消去されるわけではないので、echo $mojiと書いた数だけこれは文字列データですが表示されます。

変数の扱い方

変数はプログラミングにおいて頻繁に利用します。その変数の扱い方のポイントを理解しましょう。

変数名は何のデータか分かるようにする

変数は、自由な変数名を付けれます。プログラムの作成において変数名はわかりやすく名付けることが重要になります。変数名の付け方でプログラムの処理の内容が変わってしまうことはありませんが、あくまでもそのプログラムは人が作成し理解しやすくするためには、分かりやすい変数名を付けることで可読性は変わります。

プログラムのソースコードは、個人でも複数人で開発を行うメンバーで読むことになるので、誰が見ても理解しやすいプログラムを書くことは重要になりますので念頭におきましょう。

例えば、以下のコードのように変数名で何のデータなのか分かりにくい名付けをしたとします。

<?php
    $a = 3600;
?>

上記の右辺の値は、1時間の秒数の値(整数型)を変数$aに代入した場合になります。この変数を1度書きそれで終わるようなプログラムであれば、$aとい変数名でも構わないかもしれませんが、メンテナンスが必要なプログラムで変数名だけで意味が分からない変数名を付けると、後から修正で見直しを行う時になんの値だったのか分からず、解読するのに大変苦労します。

では、以下のコードのように、$ichijikan_no_byousuuと書いた場合であれば、変数の中に3600が1時間の秒数だと分かりやすくなります。ファイルに分かりやすい名前を付けて保存するのと同じように、変数名も何のデータが分かりやすい名前を付けてるようにするのがあなたにとっても楽になります。

誰が見ても分かりやすい変数名を付けるように心がけましょう。

<?php
    $ichijikan_no_byousuu = 3600;
    echo $ichijikan_no_byousuu;
?>

上記の分かりやすい変数名に、日本語の読みで変数名を付けましたが、一般的に英語読みの変数名にするのがスタンダードです。なので今回の場合でベストな変数名は、$ichijikan_no_byousuu$seconds_per_hourが良いですね。
英語での変数名に迷ったら、以下のサイトで変数名を生成すれば悩まなくて済みます。
https://codic.jp/

計算結果の値を変数に代入する

ではここで、変数に代入する値が3600と直接的になっているのを、以下のコードのように計算結果を代入するようにリファタングします。 リファタングとは、外部への表示は変わることなく、プログラムの可読性向上や複雑なプログラムの簡素化などの、修正や改善することをいいます。

<?php
    // 右辺は、分数 * 秒数 ←コメントで説明付けは分かりやすくなります
    $seconds_per_hour = 60 * 60; // * は掛け算を意味します
    echo $seconds_per_hour;
?>

60 * 60という計算式にすることで、計算過程をプログラムに含めているのだと推測しやすくなります。プログラミングでは計算も一瞬で行えます。プログラムを自作していない人が見ても、わかりやすいプログラムを書くことは大切です。それは、あなたも他の人も何度も目にしますが、すべてのプログラムのコード内容をすべて覚えることなんて到底できないからです。

また、上記コードのようにコメントで説明を入れると見直したときに理解しやすくなりますので、じゃんじゃん活用しましょう。

変数に変数の計算結果を代入

もう少しリファタングします。60 * 60のそれぞれの60 も変数にして変数を計算させます。以下のコードに書き直しましょう。

<?php
    $minute = 60; // 1時間の分数
    $second = 60; // 1分間の秒数
    // 分数 * 秒数
    $seconds_per_hour = $minute * $second; // * は掛け算を意味します
    echo $seconds_per_hour;
?>

これでほどよく、数ヵ月後に見直したときでも何のプログラムなのか直ぐに理解できるようになったと思います。ただ、そこまで複雑ではないコードに対して説明が必要かどうかは、バランスを考えながら付けていく必要もでてきます。

では、「sample.php」をターミナルで実行して、変数を使った計算も正常に動作するのを確認してください。3600と表示されると思います。この変数の計算は、どちらとも整数型の場合に限りますので注意が必要です。

変数の複数単語の命名

変数名の命名で、英語読みにするべきと説明しました。

$seconds_per_hourのように変数名に複数の単語を使う場合は、名付けの方法として主に2つあります。PHPでよく利用される記法としては、単語と単語の間を_(アンダーバー)で繋げる「スネークケース」方法になります。もう1つが「キャメルケース」方法なのですが、$secondsPerHourと書き、最初の単語のみ小文字で2つ目以降の単語の頭文字が大文字になり連続して書きます。

どちらの記法でもプログラミングによる影響は変わりません。どちらを使うべきかという決まりはありませんので、お好みであったり、修正するソースコードで利用されている記法に準じていただくのが一般的かと思います。

変数名に使えないケース

PHPでの変数名に使えないケースが以下の2つありますので名付け時には気を付けましょう。

変数名に使えないケース
  • $123testのように数字で始まる変数名は使えません。変数名の途中や語尾はOKです。
  • $a-aのように-ハイフンは変数名に使えません。

変数はデータを上書きできる

変数は、プログラムの過程で別のデータを上書きすることができます。以下のコードを「sample.php」書き直してターミナルで実行してみてください。

<?php
    // 「これは文字列データです」を$moji変数に代入
    $moji = "これは文字列データです";
    // 「これは上書き文字です」を$moji変数に代入(上書き)
    $moji = "これは上書き文字です";
    echo $moji;
?>

これは上書き文字ですが表示されると思います。

このように変数は、1度データを代入しても別のデータを上書きができます。気を付けなければいけないことは、意味もなく同じ名付けの変数名を使い代入すると、データが上書きされ意図しないプログラム結果になるということを理解しましょう。

プログラムの作成で変数を上書きすることはありますが、意味もなく上書きすることはしないようにすべきでしょう。

まとめ

PHPのプログラミング基礎の変数を解説しましたが、いかがでしたでしょうか?

少し難しく感じたかもしれませんが、この変数を使わずにプログラムを作成することは無いと言っていいため、変数の扱い方はしっかりと理解しておく必要があります。

変数の扱いのポイントをおさらいしましょう。

変数の基礎についてのまとめ!
  • 変数名の頭は、$(ドル)記号
  • 変数名は、英文字で分かりやすく
  • 変数には、保存したい値や計算結果、変数を代入できる
  • =は、右辺を左辺に代入する時に用いる
  • 変数同士で計算できる(文字列は不可)
  • 変数名で複数単語の場合は、スネークケースまたはキャメルケース
  • 変数名は、数字から始める場合やハイフンは使えない
  • 変数は、別のデータを上書きできる。

扱いについてもかなりの仕様がありますので、少しずつ理解をしていきましょう。

では、お疲れ様でした!

ブログを始める人におすすめのレンタルサーバー!

ブログを始めようとお考えの人向けに、おトクなキャンペーン中のレンタルサーバーをご紹介します!

ConoHa WING(コノハウィング)

キャンペーン中!

「ConoHa WING」では、WINGパック「ベーシックプラン」新規でお申込みいただくと、ConoHa WING通常料金から最大36%OFFでご利用いただけます。36ヶ月契約なら月額836円からWINGパックをご利用いただけます。

さらに、初期費用無料で、初回お申込み月はご利用料金無料なので月初のお申込みで、最大31日間無料でご利用いただく事ができます!

また、WINGパックはレンタルサーバーと独自ドメインがセットになったおトクな長期利用割引プランです。お好きなレンタルサーバープランと独自ドメインが2つ永久無料でご利用いただけます。

詳細は、以下のリンクからご確認ください。
⇒Early Summer キャンペーン!

Xserver(エックスサーバー)

キャンペーン中!

「エックスサーバー」では、「独自ドメイン2つ永久無料&初期費用半額」と過去最大級にお得なキャンペーン開催中です!

さらに2021年6月17日(木)18時まで、キャンペーン期間中に新規でお申込みいただいた方は、通常3,300円の初期費用が半額!

さらに「.com」や「.net」などの人気独自ドメイン2つが永久無料と大変おトクです!

キャンペーンの詳細は、以下のリンクからご確認ください。
⇒独自ドメイン2つ永年無料&初期費用半額キャンペーン

ロリポップ!

ロリポップ!『ドメインずーっと無料』!

『ムームードメイン』の対象ドメインと、『ロリポップ!』のレンタルサーバーの両方を新規でご契約いただく場合、レンタルサーバーをご契約中はドメインを無料でご利用いただける『ドメインずっと無料』の提供を開始しました。

ロリポップ!でレンタルサーバーを契約期間中はずっと無料でドメインを利用することができます。

サービスの詳細は、以下のリンクからご確認ください。
⇒ドメインの新規取得・更新が無料になるサービス『ドメインずっと無料』

ボクがおすすめするレンタルサーバーの特徴や違い、選び方など知りたい方は、WordPressに最適なレンタルサーバーの選び方とおすすめサービス比較!の記事に詳しく解説してますのでご覧になってください!

PHP
スポンサーリンク
otsuをフォローする
スマライログ
タイトルとURLをコピーしました