【PHP入門】変数の宣言と使い方をマスターしよう!

投稿日: 作成:   更新:

PHPで変数の使い方について解説します。

変数宣言や、変数の確認方法、型変換など一通りの使い方について触れていきたいと思います。

PHPで変数を使ってみる

早速ですが、PHPの変数を使ってみましょう。

変数名は、先頭に「$」をつけて変数宣言します。

左側に変数名を、右側に値を書きます。
変数に値を入れることを「代入」といいます。

試しに $msg に文字列「こんにちは」、$num に数値「100」を代入してみましょう。

<?php

$msg = "こんにちは";
$num = 100;
var_dump($msg);
var_dump($num);

?>

PHPで型を確認するには「var_dump関数」を使用します。

「こんにちは」はstring型、「100」はint型で出力されました。

今度はソースコードを少し変えて、途中で変数 $msg に $num を代入してみます。

<?php

$msg = "こんにちは";
$num = 100;

// 変数 $msg に $num を代入
$msg = $num;
var_dump($msg);

?>

「こんにちは」が入っていた $msg 変数の中身が $num の「100」int型に置き換わりました。

このようにPHPでは変数の型を気にせずプログラミングできます。
型なし言語の特徴ですね。ちなみにJavaとか型が必要な言語では明示的に型変換しないとこのようなことはできません。

変数と型

簡単に「変数と型」について触れたいと思います。
基本的なイメージだけ理解しておきましょう。

変数

変数とは、パソコンのメモリに一時的に名前をつけて使用するものです。

変数はデータの入れ物を表す「箱」のイメージです。
変数名は「箱の名前」といったところでしょうか。

型とは変数の中に入れるデータの種類です。
「文字列、数字、論理値、配列」などがあります。

変数、型のイメージ

「PHPで変数を使ってみる」でやった内容をイメージに表すと次のようなイメージでしょうか。

このようなイメージを持ってもらえれば良いと思います。

変数名の規約

変数名で使える文字

変数名として使えるのは次の文字だけです。

  • 小文字の英字(a-z)
  • 大文字の英字(A-Z)
  • 数字(0-9)※変数の先頭に数字を使うことはできません
  • アンダースコア(_)

大文字小文字について

大文字小文字は区別できますので「$numWeek」みたいな書き方はOKです。
なので「$numWeek、$numweek」の2つ変数があると、別の変数として認識されますので気をつけましょう。

あと蛇足ですが、PHPバージョン(4.3.0)より前だと大文字小文字の区別ができないので、古いPHPを使う場面があったときは気をつけましょう。
「$num_week」のように変数名の間にアンダースコア(_)を入れるスネークケースで表現されることが昔は多かったです。(今もその名残がPHPライブラリなどに散見されますが・・)

型の指定、型変換

PHPでは次のように変数に代入するときに、値の前に () で型を記述することで型を指定ができます。

<?php

$num = (string) 100;
var_dump($num);

?>

実行結果:

この場合は「(string) 100」を代入しているので、int型の「100」をstring型に型変換していることになります。

ですが、string型の $num に「+100」すると「200」に暗黙的に変わるので、PHPではあまり型を強制することはできませんね。

型の指定、型変換は、最初はあまり気にせず頭の片隅に置いておきましょう。

型については、PHP学習を進めていくうえで理解しておく必要がありますが、簡単なプログラムを書いている分にはあまり気にしなくても良いと思います。

ただし、システム規模が大きくなったときはバグを生まないためにも型を意識しておく必要があります。特に異なる型の変数が簡単に代入できてしまう点が危険ですね。また、DBに値を保存するときや、他のライブラリを呼び出すときもエラーになりやすいため意識する必要があります。また後のPHP入門の中で解説します。

まとめ

PHPの変数について変数宣言、変数の確認方法、型変換など解説しました。

初心者に向けてですが、今回は変数は「箱」であることだけ理解できていれば良いと思います。
どんどんPHPソースを書いていってトライしてみてください。


プログラミングスクールをお探しの方へ

プログラミング学習を挫折せずに続けて成功できる人は

「目的目標を明確にすること」
「質問・相談できる環境を作ること」
「自己解決スキルを身に着けること」

この3つを大切にしてると思います。

ただ漠然とプログラミング学習をしているだけでは
すぐに身に付きませんので、プログラミングスクールがおすすめです。

  • テックキャンプ
    本気でIT業界に転職したい方におすすめです。
    転職できなかったら全額返金があります。
  • DMM WEBCAMP
    国から認定されているスクールです。
    やむなく離職中の方など、条件を満たしている方は教育訓練給付金が支給されます。
  • TechAcademy
    1週間の無料体験があります。
    気軽にスクールを体験したい方向けです。