【PHP】レッスン1-02:変数と定数を理解しよう

記事内に商品プロモーションを含む場合があります

この記事で学べる知識:変数と定数

この記事の練習問題を解くために必要な知識:
PHPタグ入力と出力コメントの書き方変数と定数データ型とキャスト算術演算子文字列文字列の連結と埋め込み乱数生成

<<前のページ PHP記事一覧 次のページ>>

PHPの「変数と定数」とは

この章ではPHPにおける「変数と定数」の意味や使い方を学習します。用語の解説が不要な方はここをクリックして練習問題へ飛びましょう。




プログラムを書くうえで重要な要素である「変数」と「定数」、そして特殊な値「null」を理解することは、PHPを学ぶ最初のステップとして欠かせません。

本記事では、それぞれの基本概念と使い方を初心者向けにわかりやすく解説します。

変数と定数とは?

変数とは、プログラム中で値を一時的に保存するための「箱」のようなものです。

変数の中身(値)は変更可能であり、数値や文字列などの異なるデータを格納できます。

定数は名前の通り「一定の値」を保持するもので、一度定義すると変更することはできません。

プログラム内で不変のデータを扱う場合に利用します。

変数の基本構文と使用例

PHPの変数はドル記号($)を使って定義します。

<?php
// 変数の宣言と値の代入
$greeting = "こんにちは"; // $greetingという名前の変数を定義し、「こんにちは」を代入
$number = 42;            // $numberという名前の変数を定義し、「42」を代入

// 変数の使用
echo $greeting . PHP_EOL; // 出力: こんにちは
echo $number . PHP_EOL;   // 出力: 42

// 値の再代入
$greeting = "おはようございます";
echo $greeting; // 出力: おはようございます
  • 変数名はドル記号で始め、英数字やアンダースコアを使えます。
  • 変数の値は自由に変更できます。

定数の基本構文と使用例

定数はdefine()関数やconstキーワードで宣言します。

<?php
// define()による定数の宣言
define("SITE_NAME", "PHP学習サイト"); // SITE_NAMEという名前の定数を定義し、「PHP学習サイト」を代入
echo SITE_NAME . PHP_EOL;            // 出力: PHP学習サイト

// constによる定数の宣言
const PI = 3.14;    // PIという名前の定数を定義し、「3.14」を代入
echo PI . PHP_EOL;  // 出力: 3.14

// 定数は変更できない
// SITE_NAME = "新しい名前"; // エラーになります
  • 定数は一度宣言したら値を変更できません。
  • 定数名は通常、大文字で記述します。
  • 定数はプログラム全体で使えます(グローバルスコープ)。

nullの基本構文と使用例

nullは「値がないこと」を意味します。

変数を明示的に初期化したいときや、値が未定義であることを示す場合に使用されます。

<?php
// nullの使用例
$var = null;
echo "この変数はnullです。" . PHP_EOL;

// nullから値を再設定
$var = 100;
echo $var; // 出力: 100

nullは「値が存在しない」ことを明示します。

まとめ

PHPの「変数」「定数」「null」はそれぞれ異なる用途で使われます。

変数は動的に値を変更したい場合、定数は不変のデータを扱いたい場合に使用します。

一方nullは「まだ値が設定されていない」または「意図的に空にする」ために役立ちます。

これらの違いを理解することで、PHPで効率的なコードを書く基礎を築けるでしょう。

変数と定数の練習問題:自己紹介プログラムを作ろう

PHPで「変数」と「定数」を使って自己紹介プログラムを作成しましょう。

このプログラムでは定数に挨拶メッセージを格納し、それを出力します。

また変数に名前と年齢を格納し、それらを固定文字列と組み合わせて出力します。

この問題の要件

以下の要件に従ってコードを完成させてください。

  1. 定数を定義し、その値を出力すること
    • 定数GREETINGに「こんにちは!PHPの練習を始めましょう。」という文字列を格納すること。
    • echoを使用してGREETINGの値を出力すること。
  2. 変数を定義して値を出力すること
    • 変数$nameに名前(例: “太郎”)を格納すること。
    • 変数$ageに年齢(例: “20”)を格納すること。
    • $nameを使って「私の名前は 太郎 です。」と出力すること。
    • $ageを使って「私は 20 歳です。」と出力すること。
  3. コードは以下のような出力を行うこと
    • 「こんにちは!PHPの練習を始めましょう。」
    • 「私の名前は 太郎 です。」
    • 「私は 20 歳です。」

ただし、以下のような実行結果となるコードを書くこと。

*****↓↓正解コードの実行結果の例↓↓*****

こんにちは!PHPの練習を始めましょう。
私の名前は 太郎 です。
私は 20 歳です。

この問題を解くヒント

1からコードを組み立てることが難しい場合は、以下のヒントを開いて参考にしましょう。

ヒント1【コードの構成を見る】

正解のコードは上から順に以下のような構成となっています。
(※下記の□はコード内のインデントを表しています)

1:定数GREETINGの定義と初期化
2:定数GREETINGの値を出力(PHP_EOLで改行を追加)
3:変数$nameに文字列”太郎”を代入
4:変数$ageに文字列”20″を代入
5:「私の名前は 」という固定文字列を出力
6:変数$nameの値を出力
7:「 です。」という固定文字列を出力(PHP_EOLで改行を追加)
8:「私は 」という固定文字列を出力
9:変数$ageの値を出力
10:「 歳です。」という固定文字列を出力(PHP_EOLで改行を追加)

ヒント2【穴埋め問題にする】

以下のコードをコピーし、コメントに従ってコードを完成させて下さい。

<?php
// 定数の定義(定数は一度定義すると値を変更できません)
/*
【穴埋め問題1】
ここでGREETINGという定数を定義し、「こんにちは!PHPの練習を始めましょう。」という値を代入してください。
*/

// 定数の使用
echo GREETING . PHP_EOL; // 定数の値を出力

// 変数の定義と値の代入(変数は値を変更可能です)
/*
【穴埋め問題2】
ここで$nameという変数に"太郎"という値を代入してください。
*/

/*
【穴埋め問題3】
ここで$ageという変数に"20"という値を代入してください。
*/

// 変数の使用
echo "私の名前は "; // 固定文字列の出力
echo $name;         // 変数の値を出力
echo " です。" . PHP_EOL; // 固定文字列の出力

echo "私は "; // 固定文字列の出力
echo $age;   // 変数の値を出力
echo " 歳です。" . PHP_EOL; // 固定文字列の出力

以上がこの問題の穴埋めコードです。

このヒントを見てもまだ回答を導き出すのが難しいと感じる場合は、先に正解のコードと解説を見て内容を理解するようにしましょう。



練習問題の解答と解説

この問題の一つの正解例とそのコードの解説を以下に示します。

正解コードの例

例えば以下のようなプログラムが考えられます。

<?php
// 定数の定義(定数は一度定義すると値を変更できません)
const GREETING = "こんにちは!PHPの練習を始めましょう。";

// 定数の使用
echo GREETING . PHP_EOL; // 定数の値を出力

// 変数の定義と値の代入(変数は値を変更可能です)
$name = "太郎"; // 名前を格納する変数
$age = "20";      // 年齢を格納する変数

// 変数の使用
echo "私の名前は "; // 固定文字列の出力
echo $name;         // 変数の値を出力
echo " です。" . PHP_EOL; // 固定文字列の出力

echo "私は "; // 固定文字列の出力
echo $age;   // 変数の値を出力
echo " 歳です。" . PHP_EOL; // 固定文字列の出力

正解コードの解説

今回のPHPコードは「変数」と「定数」を使用して自己紹介プログラムを作成する内容です。

コードをブロックごとに分割し、それぞれの解説を行います。

定数の定義と使用

const GREETING = "こんにちは!PHPの練習を始めましょう。";
echo GREETING . PHP_EOL;
  • constを使った定数の定義
    定数GREETINGを定義しています。ここでは「こんにちは!PHPの練習を始めましょう。」という文字列が格納されています。
  • 定数の使用
    echoを使って定数GREETINGの値を出力しています。PHP_EOLは「PHP End Of Line」の略で改行を意味します。

変数の定義と使用

$name = "太郎";
$age = "20";

echo "私の名前は ";
echo $name;
echo " です。" . PHP_EOL;

echo "私は ";
echo $age;
echo " 歳です。" . PHP_EOL;
  1. 変数の定義
    • $nameは名前を格納する変数です。ここでは「太郎」という文字列を代入しています。
    • $ageは年齢を格納する変数です。ここでは「20」という文字列を代入しています。
  2. 変数の使用
    echoを使って固定文字列と変数の値を連続して出力しています。例えば、「私の名前は 太郎 です。」というメッセージを作成する際には、echoを使って固定文字列と変数$nameを個別に出力しています。

まとめ

このコードでは、PHPの「変数」と「定数」の使い方を学びました。特に以下のポイントに注目してください:

  1. 定数の定義と使用方法: 定数はプログラム内で変更できない値を保持するために使用します。
  2. 変数の定義と変更可能な値の格納: 変数は変更可能なデータを保持するために使用します。

プログラムを書くことで、データを整理して管理する基本的なスキルを学ぶことができます。

ぜひ、このコードを元に別の定数や変数を定義して練習を進めてください!

<<前のページ PHP記事一覧 次のページ>>

この記事への質問・コメント

この記事を作成するにあたりAIを活用しています。

問題ないことは確認していますが、もし間違いや表現の違和感などありましたら、ご指摘頂けると大変助かります。






    PHPのテキスト&問題集トップへ戻る
    トップページへ戻る