상수의 이름을 가지고 값을 가져올 때 사용하는 함수.
예를 들어 상수의 이름을 변수로 다룰 때 사용할 수 있음.
클래스의 상수도 가져올 수 있으므로 유용.
(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 출력

+ Recent posts