{category}

PHP - 定数

define()

ディファイン(変数と定数

意味 定数の定義


define()とは?

define()は、PHPで定数を定義するための関数です。一度定義された定数の値は、スクリプトの実行中に変更することができません。

define()の具体的な使い方

基本的な定数の定義と使用

<?php
// 定数の定義
define('PI', 3.14159);
define('APP_NAME', 'My PHP Application');
define('DEBUG_MODE', true);

// 定数の使用
echo "円周率: " . PI . "<br>";
echo "アプリケーション名: " . APP_NAME . "<br>";
echo "デバッグモード: " . (DEBUG_MODE ? 'ON' : 'OFF') . "<br>";

👇出力結果

円周率: 3.14159
アプリケーション名: My PHP Application
デバッグモード: ON

このコードでは、define()関数を使用して異なる型(浮動小数点数、文字列、真偽値)の定数を定義しています。定義された定数は、スクリプト内のどこでも使用でき、その値は変更できません。定数名は通常大文字で記述します。

条件付き定数定義と定数の存在確認

<?php
// 条件付きで定数を定義
if (!defined('MAX_USERS')) {
    define('MAX_USERS', 100);
}

// 定数の存在を確認
if (defined('MAX_USERS')) {
    echo "MAX_USERSは定義されており、値は" . MAX_USERS . "です。<br>";
} else {
    echo "MAX_USERSは定義されていません。<br>";
}

// 定数の再定義を試みる(エラーになる)
@define('MAX_USERS', 200);  // エラーを抑制するために@を使用

echo "MAX_USERSの現在の値: " . MAX_USERS . "<br>";

👇出力結果

MAX_USERSは定義されており、値は100です。
MAX_USERSの現在の値: 100

このコードでは、定数が未定義の場合にのみ定義を行う方法と、defined()関数を使用して定数の存在を確認する方法を示しています。また、定数の再定義を試みていますが、これはエラーとなり(ここではエラーメッセージを抑制しています)、定数の値は変更されません。

define()に関するよくある質問

Q. 定数と変数の違いは?
A. 定数は一度定義すると値を変更できませんが、変数は値を変更できます。また、定数は通常大文字で記述し、$記号を使用しません。
Q. 定数の命名規則は?
A. 定数名は通常、大文字のみを使用し、複数の単語はアンダースコアで区切ります(例:MAX_VALUE)。ただし、技術的には小文字も使用可能です。
Q. 定数の値に何を設定できる?
A. 定数の値には、スカラー値(整数、浮動小数点数、文字列、真偽値)と配列を設定できます。PHP 7以降では、定数に配列を設定することも可能になりました。

define()が学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、PHPのdefine()やグローバル、$_ENV、ローカル、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


PHPを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!PHPはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

グローバル

どこからでもアクセス可能な変数

種類: 変数のスコープ

$_ENV

環境変数へのアクセス

種類: スーパーグローバル変数

ローカル

限られた範囲でのみ使える変数

種類: 変数のスコープ

resource

外部リソースへの参照を保持

種類: 特殊型

実引数

関数呼び出し時の具体的な値

種類: 引数