상수의 이름을 가지고 값을 가져올 때 사용하는 함수.
예를 들어 상수의 이름을 변수로 다룰 때 사용할 수 있음.
클래스의 상수도 가져올 수 있으므로 유용.
(PHP 5.3 이상에서는 그냥 됨)
/*
일반상수
*/
define('MAX', 100);
echo MAX; // 100 출력
$const = 'MAX';
echo $const; // 그냥 문자열 MAX 출력
echo constant($const); // 100 출력
/*
클래스 상수
*/
interface in
{
const MAX = 100;
}
class cl
{
const MAX = 100;
}
$in_name = 'in';
$cl_name = 'cl';
$const = 'MAX';
echo $in_name::MAX; // PHP 5.3 이상에서만 가능
echo $cl_name::MAX; // PHP 5.3 이상에서만 가능
echo constant($in_name.'::'.$const); // 100 출력
echo constant($cl_name.'::'.$const); // 100 출력