【PHP入門】PHPの変数と定数について簡単にまとめてみた

PHPを学ぶ機会があったので、自分を含めた初学者の役に立つ様に「変数」に重点をおいて基礎をまとめておこうと思います。

WebエンジニアになるならRubyかPHPかの議論をよく見かけますが、プロになるなら結局のところどちらも触れておくのが吉です。

本記事の対象者は変数についての概念を抑えている人が対象です。プログラミングにおける変数の概念はググれば一瞬で理解できるのでプログラミング初心者は是非変数の概念を抑えてから本記事を読んで下さい。

スポンサードリンク

変数を宣言する、計算する

PHPで変数を宣言するには変数名に「$」を付けるだけです。めちゃシンプルで簡単ですね。

<?php
$test = "TestMessage";
echo $test;
?>

出力>>TestMessage

変数には値を1つだけ入れることができます。また、型は宣言せずとも動的に付与されるのでしなくていいです。変数に値を入れる事を代入と言いますが、こんな当たり前のことは言わなくていいですね。上のコードは「$test」という変数に文字列型のTestMessageという値を代入している例です。その変数をechoで書き出しています。echoは、変数に入っている値を出力するメソッドの様なものです。

変数に数値を代入すると変数同士で計算を行う事も可能です。

<?php
$sugaku = 90;
$kokugo = 10;
$goukei = $sugaku + $kokugo;
echo $goukei;
?>

出力>>100

足し算だけでなく、他のプログラミング言語同様四則演算も可能です。演算子は他のプログラミング言語同様です。

このように、変数には文字列、数値、オブジェクト等様々な型の値を格納できる便利な箱であることが確認できました。

定義済み変数

PHP特有の部分です。PHPには定義済みの変数が数多くあり、Web言語であることからその分野に特化した

定義済み変数が存在します。これを使いこなせるかどうかが初心者脱却のラインかなと個人的に思っています。

以下にその概要をまとめておきましたので各自目を通しておくと良いかと思います。

定義済み変数
$GLOBALS グローバルスコープで使用可能な全ての変数への参照。
$_SERVER サーバ情報及び実行時の環境情報。
$_GET HTTP GET変数。めっちゃ使います。
$_POST HTTP POST変数。めっちゃ使います。
$_FILES HTTP ファイルアップロード変数。
$_REQUEST HTTP リクエスト変数。
$_SESSION セッション変数。
$_ENV 環境変数。
$_COOKIE HTTP クッキー。
$php_errormsg 直近のエラーメッセージ。
$HTTP_RAW_POST_DATA 生のPOSTデータ。
$http_response_header HTTP レスポンスヘッダ。
$argc スクリプトに渡された引数の数。
$argv スクリプトに渡された引数の配列。

上にあげたほとんどが宣言無しに使える「定義済み変数」の一覧であり、ほとんどが連想配列として使用する事になっています。連想配列とは、配列それぞれの値にキーがついた、キーと値の組みが配列になっているようなものです。(わからない方は各自PHPの連想配列について調べてみてください。)例えば、グローバルスコープをもった関数の外で定義した「$var = 3;」という変数があったとすると、$GLOBALS[‘var’]としてその変数にアクセスすることができます。

定数を定義する

定数の定義の仕方はいたって簡単で、constとして定義するだけです。PHPの定数は慣習的に全て大文字で宣言します。$を付ける必要はありません。$を付けるのは変数のみです。

<?php
const TAX = 1.08;
$price = 100;
echo $price * TAX;
?>

出力>>108

また、define関数を用いて定数を定義する事もできます。

<?php
define('TAX', 1.08);
$price = 100;
echo $price * TAX;
?>

出力>>108

定義済み定数

変数同様、定数にも定義済みのものが存在します。以下にその概要をまとめておきます。

こちらもざっくり目を通しておくと良いでしょう。

定義済み変数には「コアモジュール定数」と「マジック定数」が存在します。コアモジュール定数とは、PHPのコアで定義されている定数でよく利用するものに以下のものがあります。

コアモジュール定数
PHP_VERSION_ID 実行中のPHPのバージョンを整数値で表したもの。
PHP_EOL 現在のOSの改行文字。
PHP_INT_MAX 整数型の最大値。
PHP_INT_MIN 整数型の最小値。
PHP_OS 現在のOS。
TRUE 論理値の真の値。
FALSE 論理値の技の値。
NULL 値無し。変数が値を持っていないことを示す時に使う。
E_ERROR 重大な実行時エラー。
E_PERSE コンパイル時のパースエラー。

対してマジック定数とは、状況に応じて値が変化する定数です。アンダースコアが2つ連なったものが変数名の前と後に付与されています。主にデバッグ時に利用する定数なので、初心者はあまり使用しない気もしますが、逆に言えば初学者の時からこういう定数を使うことを意識するとデバッグ能力が上がりそうです。

マジック定数
__LINE__ ファイル上の現在の行番号。
__FILE__ ファイルのフルパスとファイル名。
__DIR__ ファイルが存在するディレクトリ。
__FUNCTION__ 現在の関数名。
__CLASS__ クラス名。トレイトをuseしているクラス名。
__TRAIT__ トレイト名。
__METHOD__ クラスのメソッド名。
__NAMESPACE__ 現在の名前空間の名前。

まとめ

PHPの変数、定数についてまとめてみました。今回紹介したもの以外にも、たくさんのルールや定義済み変数・定数があるので出会ったら随時調べて使ってみることが重要だと思います。

PHPはプログラミング初学者にはもってこいのサーバーサイドと言われがちですが、結局はどの言語でもどこまで突き詰めるかだと思っています。初学者とか、そうでないとか正直関係ないです。

Rubyの勉強と並行してPHPも頑張っていこうかな、と思う今日この頃。

スポンサードリンク

今回の記事作成にあたって大重さんのPHPの書籍を参考にさせて頂きました。興味のある方は是非。良書です。

コメントを残す

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