constant

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

constant定数の値を返す

説明

constant(string$name): mixed

name で指定した定数の値を返します。

constant() はある定数の値を取得する必要があるが、 その名前が不明な場合に有用です。つまり、定数名が変数に保存されているか、 関数から返される場合に有用です。

この関数は クラス定数列挙型のcase に対しても動作します。

パラメータ

name

定数名。

戻り値

定数の値を返します。

エラー / 例外

定数が定義されていない場合は Error がスローされます。 PHP 8.0.0 より前のバージョンでは、 E_WARNING レベルの警告が発生していました。

変更履歴

バージョン説明
8.0.0 定数が定義されていない場合は、 constant()Error をスローするようになりました。 これより前のバージョンでは、 E_WARNING レベルの警告が発生し、null を返していました。

例1 定数に対して constant() を使う例

<?php

define
("MAXSIZE", 100);

echo
MAXSIZE;
echo
constant("MAXSIZE"); // same thing as the previous line


interface bar {
const
test = 'foobar!';
}

class
foo {
const
test = 'foobar!';
}

$const = 'test';

var_dump(constant('bar::'. $const)); // string(7) "foobar!"
var_dump(constant('foo::'. $const)); // string(7) "foobar!"

?>

例2 列挙型の case に constant() を使う例(PHP 8.1.0 以降)

<?php

enum Suit
{
case
Hearts;
case
Diamonds;
case
Clubs;
case
Spades;
}

$case = 'Hearts';

var_dump(constant('Suit::'. $case)); // enum(Suit::Hearts)

?>

参考

  • define() - 名前を指定して定数を定義する
  • defined() - 指定した名前の定数が存在するかどうかを調べる
  • get_defined_constants() - すべての定数の名前とその値を連想配列として返す
  • 定数の節
To Top