関数の概要
PHPの get_defined_constants 関数は、現在スクリプトで定義されているすべての定数の一覧を配列で取得するための関数です。定数には、PHPがあらかじめ定義している組み込み定数や、ユーザーが自分で定義したものが含まれます。開発時にどんな定数が利用可能か把握したい時や、動的に定数の情報を取得したい場合に役立ちます。
パラメータの説明
categorize(bool型、任意):このパラメータをtrueにすると、定数をカテゴリ別にグルーピングした連想配列を返します。デフォルトはfalseで、単純な連想配列としてすべての定数を返します。
戻り値
戻り値は連想配列です。キーが定数名、値が定数の値となっており、categorize を true にした場合はカテゴリ名(例えば "user"、"Core" など)をキーに持つ連想配列の形で返されます。
使用例
基本的な使い方
<?php
// すべての定義済み定数を取得する
$constants = get_defined_constants();
print_r($constants);
?>
このコードは、すべての定義済み定数を連想配列として取得し、その中身を画面に表示します。特にパラメータを指定しなければ、平坦な配列が返ります。
カテゴリ別に定数を取得する例
<?php
// 定数をカテゴリ別に分類して取得
$categorizedConstants = get_defined_constants(true);
// "Core" カテゴリの定数を表示
print_r($categorizedConstants['Core']);
?>
true を渡すことで、定数がカテゴリで分類されます。ここでは「Core」カテゴリの定数だけを抜き出して表示しています。
ユーザー定義定数の一覧を取得する例
<?php
// ユーザー定義の定数のみ取得したい場合
$constants = get_defined_constants(true);
$userConstants = $constants['user'] ?? [];
print_r($userConstants);
?>
ユーザー自身が定義した定数のみを抽出できます。user キーに配列として格納されているので、必要に応じて活用しましょう。
関連する関数
define:新しい定数を定義するための関数。constant:文字列で定数名を指定してその値を取得する関数。defined:定数がすでに定義されているかどうかを調べる関数。
まとめ
get_defined_constants はPHPで現在使用可能なすべての定数情報を手軽に取得できる便利な関数です。categorize パラメータに true を渡せば、より管理しやすくカテゴリ分けされた結果が得られます。環境設定の確認や動的な処理で定数情報を活用したい時におすすめです。初心者の方も今回の例を参考にして、ぜひ試してみてください。
