【PHP入門】defineで定数を定義する方法

規定値などの予め決められた値を設定するためには、定数を使用する場合があります。

PHPでは、定数を指定する方法としてdefineconstがあります。

この記事ではdefineの、

・defineとは?
・defineの基本的な使い方

という基本的な内容から、

・defineで配列を定義する方法
・defineの注意点
・constで定数を定義する方法

などのdefineで定数を定義する応用的な使い方についても解説していきます。

今回はそんなdefineで定数を定義するさまざまな方法について、わかりやすく解説します!

defineとは

定数とは、既定値や既に決まっている値を予め指定しておくIDのようなもので、プログラムの初期段階で設定し、以降定数の値を変更することはできません。

また、定数は通常の変数と区別するために、基本的にアルファベットの大文字で記述するのが慣例となっています。

定数を定義するdefineは、以下のように記述します。

defineの書き方:

defineは第一引数に定数名を指定し、第二引数に定数の値を指定します。

PHP7からは第二引数の値に配列を指定することもできるようになりました。

第三引数にTRUEを指定すると、定数の大文字小文字を区別しないようになります。なお、デフォルトでは大文字小文字は区別されます。

defineで定数を定義してみよう!

以下にdefineを指定して、定数を定義する簡単な方法を記述します。

実行結果:

defineで定義した内容は、前述したようにあとから値を変更することはできませんので注意しましょう。

defineで配列定数を定義する

定数はPHP7から配列を指定することが可能となりました。

ここでは、defineで配列を定義する方法について紹介します。

1次元配列の定数

defineで配列を定義するためには、defineの第二引数に配列を指定します。

以下に配列の定数を定義する方法を記述します。

実行結果:

連想配列の定数

定数では上述した1次元配列の他に、連想配列や多次元配列を定義することもできます。

以下にdefineで連想配列を定義する簡単なサンプルを記述します。

実行結果:

このように連想配列を定義することも可能です。

大文字小文字の判定

前述したようにdefineで定義した定数は大文字小文字を明確に区別します。

そのため、以下のように小文字で指定した場合は、定義されていない定数と判断されて警告が発生します。

実行結果:

大文字小文字を区別しないようにするにはdefineの第三引数にtrueを指定する必要があります。

constで定数を定義する

PHPで定数を定義する方法は、先に紹介したdefineの他にクラス内で定義するオブジェクト定数であるconstがあります。

constはクラス内部で定数を定義するときに、constの後に定数名と値を指定します。

defineとconstの違いは、

  • constはクラス内部で定数を定義できるがdefineはできない
  • constは名前空間の影響を受けるがdefineは受けない

constによる定数を定義する方法については、以下の記事で詳しく解説していますので、ぜひ参考にしてくださいね!

PHPについてもっと知りたい方へ

「PHPについて実はいまいちわかっていない・・・」
「もっとPHPについて詳しく知りたい!」

と思っている方は以下の記事も参考にしてみてください!

まとめ

ここでは、defineを使用した定数を定義する方法について解説しました。

定数はPHPに限らずさまざまな言語で使用しますので、この機会に使い方を覚えておきましょう。

もし、defineによる定数を定義する方法を忘れてしまったら、この記事を思い出してくださいね。

未来に繋がるプログラミング学習、できていますか?

エンジニアと一口にいっても、フロントエンド、サーバーサイド、アプリ開発、AI関連など様々な業界や職種があり、業務内容や働き方、年収は変わります。

どんな働き方をしたいのか、どのくらい年収が欲しいのかなど具体的なキャリアパスを考えて、それを達成できる学習カリキュラムを考えていかないと、希望する方向性とは違うエンジニアになってしまったり、遠回りの学習に時間を費やしてしまう可能性があります。

侍エンジニア塾では目的から逆算する形で、まずあなたの目指すキャリアをヒアリングさせて頂いてからそれを達成するためのオリジナルの学習カリキュラムを作成しています。

今学んでいることが理想のエンジニアになるために繋がっているか不安でしたら、下記の無料体験レッスン予約カレンダーよりお気軽にご相談ください。

LINEで送る
Pocket

書いた人

ヤマシタ

フリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、今まで200本以上の執筆経験があります

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説