PHP
PR

PHPの変数とは?文字や数字を入れて使う基本

PHP 2-1の記事用アイキャッチ画像。PHPの変数として$name、$ageなどに文字や数字を入れ、echoで表示する基本を表現している。
toshi
記事内に商品プロモーションを含む場合があります

この記事は、PHPの「変数」について、初学者向けに整理する記事です。

前回までで、PHPファイルを作り、echoで文字を表示し、HTMLの中にPHPを埋め込む基本を確認しました。
今回は、PHP 2章の入口として、文字や数字を一時的に入れて使う「変数」を見ていきます。

PHPの変数は、文字や数字などの値を入れておく箱のようなものです。

たとえば、名前を $name に入れたり、年齢を $age に入れたりして、あとから echo で表示できます。

まずは難しく考えすぎず、「値に名前をつけて、あとから使えるようにするもの」と考えるところから始めていきます。

この記事で分かること

この記事では、PHPの変数について、次の内容を整理します。

  • 変数とは何か
  • PHPの変数の書き方
  • 文字を変数に入れる方法
  • 数字を変数に入れる方法
  • 変数をechoで表示する方法
  • 変数名をつける時の基本
  • よくあるつまずきポイント

PHPの変数は、今後ほぼ毎回出てきます。

最初は少し記号が多く見えるかもしれませんが、仕組み自体はそこまで難しくありません。

Q
先に結論だけ読む

PHPの変数は、値を入れておく箱のようなものです。

たとえば、次のように書きます。

$name には文字、$age には数字が入っています。

echo $name; と書くと、$nameの中に入っている ToshiLab が表示されます。

変数とは?

変数とは、文字や数字などの値を一時的に入れておくためのものです。

よく「箱」にたとえられます。

たとえば、次のように考えると分かりやすいです。

  • $name という箱に ToshiLab を入れる
  • $age という箱に 46 を入れる
  • echo で箱の中身を表示する

変数を使うと、同じ値を何度も書かずに済みます。

また、あとから値を変えることもできます。

PHPの変数を箱にたとえ、$nameに文字、$ageに数字を入れてechoで表示する流れを説明した図
変数は、文字や数字などの値を一時的に入れておく箱のようなものです。

変数は「値そのもの」ではなく、「値を入れておく名前付きの箱」のようなものです。

$name という変数に ToshiLab を入れておけば、あとから $name と書くだけで、その中身を使えます。

PHPの変数は $ から始まる

PHPの変数は、先頭に $ を付けて書きます。

$name
TeX

$age
TeX

この $ が付いていることで、PHPは「これは変数だ」と判断します。

たとえば、名前を入れる変数なら $name、年齢を入れる変数なら $age のように書きます。

変数名入れる内容の例
$name名前
$age年齢
$messageメッセージ
$score点数

変数名は、自分で分かりやすい名前をつけることが大切です。

$name なら名前、$age なら年齢というように、何を入れているか分かる名前にしておくと、あとで読み返しやすくなります。

文字を変数に入れる

まずは、文字を変数に入れてみます。

index.php に次のコードを書いてみます。

<?php
	$name = 'ToshiLab';
	
	echo $name;
?>
PHP

このコードでは、$name という変数に ToshiLab という文字を入れています。

文字を入れる時は、シングルクォーテーションまたはダブルクォーテーションで囲みます。

$name = 'ToshiLab';
PHP

この行は、ざっくり言うと、

$name  ToshiLab を入れる
PHP

という意味です。

そのあと、

echo $name;
PHP

と書くことで、$name の中身を表示しています。

ブラウザには次のように表示されます。

ToshiLab
TeX

= は「同じ」という意味ではない

PHPのコードで出てくる = は、数学の「同じ」という意味とは少し違います。

PHPでは、= は「右側の値を左側の変数に入れる」という意味で使います。

書き方意味
$name = ‘ToshiLab’;$name に ToshiLab を入れる
$age = 46;$age に 46 を入れる
$message = ‘こんにちは’;$message に こんにちは を入れる

PHPの = は「代入」と呼ばれます。

代入とは、変数に値を入れることです。

最初は専門用語を覚えるより、「右の値を左の箱に入れる」と考えると分かりやすいです。

数字を変数に入れる

次に、数字を変数に入れてみます。

<?php
	$age = 46;

	echo $age;
?>
PHP

この場合、ブラウザには次のように表示されます。

46
TeX

数字の場合は、文字のようにクォーテーションで囲まなくても使えます。

値の種類書き方
文字$name = ‘ToshiLab’;
数字$age = 46;

文字はクォーテーションで囲みます。

数字はそのまま書けます。

文字を入れる時は、’ToshiLab’ のようにクォーテーションで囲みます。

数字を入れる時は、46 のようにそのまま書けます。

この違いは、PHPの基本として覚えておくと後で楽になります。

複数の変数を使ってみる

変数は、1つだけでなく複数使えます。

たとえば、名前と年齢をそれぞれ変数に入れてみます。

<?php
	$name = 'ToshiLab';
	$age = 46;

	echo $name;
	echo $age;
?>
PHP

ブラウザには、次のように表示されます。

ToshiLab46
TeX

表示はできましたが、文字がくっついています。

これは、echoを2回書いても、自動で改行や空白が入るわけではないためです。

改行して表示する

ブラウザ上で改行したい場合は、HTMLの br タグを使えます。

<?php
	$name = 'ToshiLab';
	$age = 46;

	echo $name . '<br>';
	echo $age;
?>
PHP

この場合、ブラウザでは次のように表示されます。

ToshiLab
46
TeX

ここで出てきた . は、文字をつなげるための記号です。

詳しくは次の記事 PHP 2-2 で整理します。

今の段階では、$nameの後ろに
をつけると、ブラウザ上で改行できる、と分かれば大丈夫です。

PHPの . は、文字列をつなげる時に使います。

この記事では軽く触れるだけにして、次の記事「PHPの文字列と計算」で、もう少し丁寧に整理します。

HTMLの中で変数を表示する

PHP 1-4では、HTMLの中にPHPを埋め込む基本を確認しました。

変数も、HTMLの中で表示できます。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>PHPの変数</title>
</head>
<body>
  <h1>PHPの変数</h1>

  <?php
  $name = 'ToshiLab';
  $age = 46;
  ?>

  <p>名前:</p>
  <?php
  echo $name;
  ?>

  <p>年齢:</p>
  <?php
  echo $age;
  ?>
</body>
</html>
PHP

このように、先に変数へ値を入れておき、必要な場所で echo して表示できます。 ただ、PHPタグが増えると少し読みにくくなります。 最初のうちは、無理にきれいに書こうとしなくて大丈夫です。 まずは「変数に入れる」「echoで表示する」という流れを優先しましょう。
※変数の中身はあとから変えられる 変数の中身は、あとから別の値に変えることもできます。

<?php
	$name = 'ToshiLab';

	echo $name;

	$name = 'PHP学習中';

	echo $name;
?>
PHP

この場合、最初の echo では ToshiLab が表示されます。

そのあと、$name に PHP学習中 を入れ直しているので、次の echo では PHP学習中 が表示されます。

変数は、あとから中身を入れ替えることができます。

同じ変数名でも、後から別の値を代入すると、中身は新しい値に変わります。

変数名をつける時の基本

変数名は、自分で決めることができます。

ただし、分かりやすい名前にするのが大切です。

変数名分かりやすさ
$name名前が入っていると分かりやすい
$age年齢が入っていると分かりやすい
$messageメッセージが入っていると分かりやすい
$a何が入っているか分かりにくい
$x学習用ならよいが、実用では意味が分かりにくい

学習中の短いコードなら $a や $x でも動きます。

ただ、記事や実際のコードでは、あとから読んでも意味が分かる名前にしておく方が安心です。

変数名で気をつけたいこと

PHPの変数名には、いくつか気をつけたい点があります。

$ を忘れない

PHPの変数には、先頭に $ を付けます。

$name
PHP

次のように $ がないと、変数として扱われません。
※駄目な例

name
PHP

大文字と小文字は区別される

PHPでは、変数名の大文字と小文字は区別されます。

$name

$Name
PHP

この2つは、別の変数として扱われます。

最初のうちは、小文字でそろえる方が分かりやすいです。

日本語の変数名は避ける

PHPでは環境によって日本語の変数名が使える場合もあります。

ただ、学習中はトラブルを避けるため、半角英数字で書くのがおすすめです。

変数名は、半角英数字の英単語を使うと読みやすくなります。

$name、$age、$message のように、何が入っているか分かる名前にしておくと安心です。

よくあるつまずきポイント

PHPの変数で最初につまずきやすいところを整理しておきます。

$を書き忘れる

変数には $ が必要です。

echo $name;
PHP

次のように書くと、変数ではなく別のものとして扱われます。

echo name;
PHP

変数を表示する時も、$ を忘れないようにします。

文字をクォーテーションで囲んでいない

文字を変数に入れる時は、クォーテーションで囲みます。

$name = 'ToshiLab';
PHP

次のように書くと、エラーになることがあります。

$name = ToshiLab;
PHP

文字は ‘ ‘ または ” ” で囲みます。

セミコロンを忘れる

PHPの命令の最後には、セミコロンを付けます。

$name = 'ToshiLab';
PHP

最後の ; を忘れないようにしましょう。

変数名の大文字小文字が違う

次の2つは別の変数です。

$name

$Name
PHP

$name に値を入れたのに、echo $Name; と書くと、期待通りに表示されないことがあります。

最初は小文字でそろえるのがおすすめです。

localhostで確認していない

PHPは、localhostから確認します。

http://localhost/php-lesson/
TeX

ファイルを直接開くのではなく、Laragonを起動して、localhostから表示を確認します。

今日のまとめチェック

この記事の内容は、次のポイントが分かればOKです。

  • 変数は値を入れておく箱のようなものだと分かった
  • PHPの変数は $ から始まると分かった
  • 文字はクォーテーションで囲むと分かった
  • 数字はそのまま変数に入れられると分かった
  • echoで変数の中身を表示できると分かった
  • 変数名は分かりやすくつけるとよいと分かった

全部を暗記する必要はありません。

まずは、$name に文字を入れて、echo $name; で表示できれば十分です。

まとめ

今回は、PHPの変数について整理しました。

変数は、文字や数字などの値を入れておく箱のようなものです。

PHPでは、変数の先頭に $ を付けます。

$name = 'ToshiLab';
$age = 46;

echo $name;
echo $age;
PHP

$name には文字、$age には数字が入っています。

変数を使うと、値に名前をつけて、あとから使えるようになります。

PHPを学んでいく上で、変数はほぼ必ず使う基本です。

次の記事では、文字列をつなげたり、数字を計算したりする基本を確認していきます。

PR:最初の1冊(必要な方だけ)

PR:PHP学習の最初の参考書として、必要な方だけ見てください。
記事内の内容だけでも進められますが、手元に1冊あると、
PHPの基本文法やフォーム処理をまとめて確認しやすくなります。
※価格や在庫、版数は変わるため、最終確認はリンク先でお願いします。

次に読む

次は、PHPの文字列と計算に進みます。

今回の変数を使いながら、文字をつなげる、数字を計算する、表示するという流れを整理していきます。

PHP 2章の流れ

PHP 2章では、次の順番で基本文法を学んでいきます。

  • PHP 2-1:PHPの変数とは?文字や数字を入れて使う基本
  • PHP 2-2:PHPの文字列と計算。つなげる・表示する・計算する
  • PHP 2-3:PHPのif文。条件によって表示を変える基本
  • PHP 2-4:PHPの配列とは?複数のデータをまとめて扱う

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT ME
toshi
toshi
フルスタックエンジニア
C型肝炎や感染症の闘病を経て現在通院中
フリーランスとして今日を生きる、それがすべて。
静かな光の中で、歩みを止めずに生きていく。
実験大好きなので色々とやっていきます。
記事URLをコピーしました