이 기사의 내용은 PHP에서 정의와 const의 차이점에 관한 것입니다. (자세한 설명) 참고할만한 가치가 있으니 도움이 필요한 친구들이 참고하시면 좋겠습니다.
PHP에서 상수를 정의하는 방법에는 정의와 const라는 두 가지 방법이 있습니다. 둘의 차이점은 무엇인가요?
const CONSTANCE = 'const'; define('CONSTANCE', 'const');
const 키워드는 PHP 5.3부터 클래스 정의 외부에서 상수를 정의할 수 있습니다.
const는 클래스 내부에서 정의할 수 있지만 정의는 정의할 수 없습니다.
const로 정의된 상수는 현재 네임스페이스에 있으며, 실행할 네임스페이스를 정의하려면 특정 네임스페이스를 작성해야 합니다.
class Foo { const BAR = 2; } class Foo2 { define("BAR", 3); //无效的 } //命名空间的示例 namespace A{ const A1 = 1; //处在命名空间A中 define('A2', 2); //全局可调用 define('A\A3', 3); //处在命名空间A中 } namespace B{ use const \A\A1; use const \A\A3; echo A1; echo A2; //全局调用 echo A3; }
const는 컴파일 단계에서 상수를 정의하고, 정의는 전처리 단계에서 상수를 정의합니다.
const는 컴파일 단계에서 상수를 정의하며, 상수를 정의할 때 최상위 범위에 있어야 합니다.
따라서 if와 같은 조건문에서는 정의할 수 없습니다.
define은 매크로 정의라고도 하는 상수를 정의합니다. 매크로는 미리 정의된 일련의 규칙에 따라 특정 텍스트 패턴을 대체하는 것으로 설명될 수 있습니다.
define은 브랜치에 존재할 수 있습니다.
이론적으로 const를 사용하는 것이 정의하는 것보다 조금 더 빠릅니다.
const는 스칼라 데이터(예: 정수, 문자열, 부울 및 부동 소수점 등)만 허용합니다. 정의는 모든 표현식을 허용할 수 있습니다.
define('BIT_5', 1<<5); const BIT_5 = 1<<5; //5.6之后才有效
PHP 5.6부터const
는 배열도 허용합니다. 및 표현식const
也可以接受数组和表达式define
可以接受resource
类型,const
define
수식은resource
유형을 허용하지만const
는 허용하지 않습니다.
const 상수 이름은 단순 문자만 사용할 수 있습니다. 어떤 표현식이든 가능합니다. 공식
const STR = 'string'; $i = 1; define("STR_" . $i, STR);
const는 대소문자를 구분하며 정의는 세 번째 매개변수를 통해 대소문자 구분을 제어할 수 있습니다.
const 및 정의로 정의된 상수 배열이 그 안의 요소를 변경할 수 있나요?
정의를 사용하여 const로 정의된 상수를 확인할 수 있나요?
위 내용은 PHP에서 정의와 const의 차이점은 무엇입니까? (상해)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!