이 글은 주로 PHP에서 Define과 Const의 차이점을 소개합니다. 특정 참조 값이 있어서 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다.
우리는 자주 변하지 않는 값을 상수로 정의하는 경우가 많습니다. 상수는 일반적으로 앞에 달러 기호 없이 모두 대문자로 표현됩니다. 정의와 const의 차이점은 무엇입니까?
상수는 간단한 식별자입니다. 이 값은 스크립트 실행 중에 변경할 수 없습니다(상수가 아닌 소위 매직 상수 제외). 상수는 기본적으로 대소문자를 구분합니다. 일반적으로 상수 식별자는 항상 대문자입니다.
define() 함수를 사용하여 상수를 정의할 수 있습니다. php5.3.0 이후에는 const 키워드를 사용하여 클래스 정의 외부에서 상수를 정의할 수 있습니다. php7에서는 배열 상수를 정의할 수 있습니다. 이전 버전에서는 const 키워드를 클래스에서만 사용할 수 있습니다. 상수가 정의되면 변경하거나 정의 취소할 수 없습니다.
<?php // 以下代码在 PHP 5.3.0 后可以正常工作 const USERNAME = '周伯通'; echo USERNAME.PHP_EOL; echo constant("USERNAME"); const ZHOUUSERNAME = '周伯通九阴真经';define('MYUSERNAME','周伯通九阴真经2'); echo "<pre class="brush:php;toolbar:false">"; print_r(get_defined_constants()); ?>
상수와 변수의 차이점은 다음과 같습니다.
1. const는 언어 구조이고, 정의는 함수이며 세 번째 매개변수를 통해 대소문자 구분 여부를 지정할 수 있습니다. true는 대소문자를 구분하지 않음을 의미하며 기본값은 false입니다
2. const는 간단하고 읽기 쉬우며 컴파일할 때 정의하는 것보다 훨씬 빠릅니다.
3. const는 클래스 멤버 상수를 정의하는 데 사용할 수 있으며 정의 후에는 수정할 수 없습니다. in 컴파일 타임에 정의되므로 범위의 최상위에 있어야 하며 함수, 루프 및 if 조건에서 사용할 수 없습니다. 즉, 함수가 호출될 수 있는 모든 곳에서 사용할 수 있습니다.
<?php class MyClass { const USER = '周伯通'; function showConstant() { echo self::USER . PHP_EOL; echo constant('USER'); // 注意:Warning: constant(): Couldn't find constant USER } } $class = new MyClass(); $class->showConstant();
여기까지입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용을 보시려면 PHP 중국어 홈페이지를 주목해주세요!
관련 권장 사항:
ob_start PHP의 사용 분석PHP 빈() 함수 설명
위 내용은 PHP에서 Define과 Const의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!