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の書籍を参考にさせて頂きました。興味のある方は是非。良書です。
コメントを残す