>  기사  >  백엔드 개발  >  PHP에서 Define과 Const의 차이점

PHP에서 Define과 Const의 차이점

不言
不言원래의
2018-07-04 17:36:232501검색

이 글은 주로 PHP에서 Define과 Const의 차이점을 소개합니다. 특정 참조 값이 있어서 공유합니다. 도움이 필요한 친구들이 참고할 수 있습니다.

우리는 자주 변하지 않는 값을 상수로 정의하는 경우가 많습니다. 상수는 일반적으로 앞에 달러 기호 없이 모두 대문자로 표현됩니다. 정의와 const의 차이점은 무엇입니까?

상수는 간단한 식별자입니다. 이 값은 스크립트 실행 중에 변경할 수 없습니다(상수가 아닌 소위 매직 상수 제외). 상수는 기본적으로 대소문자를 구분합니다. 일반적으로 상수 식별자는 항상 대문자입니다.

define() 함수를 사용하여 상수를 정의할 수 있습니다. php5.3.0 이후에는 const 키워드를 사용하여 클래스 정의 외부에서 상수를 정의할 수 있습니다. php7에서는 배열 상수를 정의할 수 있습니다. 이전 버전에서는 const 키워드를 클래스에서만 사용할 수 있습니다. 상수가 정의되면 변경하거나 정의 취소할 수 없습니다.

<?php
// 以下代码在 PHP 5.3.0 后可以正常工作
const USERNAME = &#39;周伯通&#39;;
echo USERNAME.PHP_EOL;
echo constant("USERNAME");
const ZHOUUSERNAME = &#39;周伯通九阴真经&#39;;define(&#39;MYUSERNAME&#39;,&#39;周伯通九阴真经2&#39;);
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 = &#39;周伯通&#39;;    
function showConstant() {        
echo  self::USER . PHP_EOL;        
echo  constant(&#39;USER&#39;); // 注意:Warning: constant(): Couldn&#39;t find constant USER    
}
}
$class = new MyClass();
$class->showConstant();

여기까지입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용을 보시려면 PHP 중국어 홈페이지를 주목해주세요!

관련 권장 사항:

ob_start PHP의 사용 분석

PHP 빈() 함수 설명

위 내용은 PHP에서 Define과 Const의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.