> 백엔드 개발 > PHP 튜토리얼 > PHP 상수에 대한 자세한 설명: 정의와 const의 차이점

PHP 상수에 대한 자세한 설명: 정의와 const의 차이점

零到壹度
풀어 주다: 2023-03-23 14:06:01
원래의
1566명이 탐색했습니다.

이 글에서는 PHP 상수에 대한 자세한 설명을 공유합니다. 특정 참조 값이 있는 정의와 const의 차이점이 필요한 친구가 참조할 수 있습니다.

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

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

상수에는 스칼라 데이터(부울, 정수, 부동 소수점 및 문자열)만 포함될 수 있습니다. 리소스 상수를 정의할 수 있지만 예측할 수 없는 결과를 초래할 수 있으므로 피해야 합니다.

상수는 이름만 지정하면 값을 얻을 수 있습니다. 변수와 달리 상수 앞에 $ 기호를 붙이면 안 됩니다. 상수 이름이 동적이면 상수() 함수를 사용하여 상수 값을 가져올 수도 있습니다. 정의된 모든 상수 목록을 얻으려면 get_define_contstants()를 사용하세요.

상수와 변수의 차이점은 다음과 같습니다.

1. 상수 앞에 달러 기호($)가 없습니다

2.

3.

상수는 변수 범위에 관계없이 어디에서나 정의하고 액세스할 수 있습니다. 한번 정의된 상수는 다시 정의되거나 정의 해제될 수 없습니다. .

5. 상수 값은 스칼라만 가능합니다

<?php
//
 以下代码在 PHP 5.3.0 后可以正常工作
const USERNAME = &#39;zhouguowei&#39;;
echo USERNAME;
echo constant
("USERNAME");
 
const ZHOUUSERNAME = &#39;zhouguowei2222222222&#39;;
 
define (&#39;MYUSERNAME&#39;,&#39;zhouguowei1111111&#39;);
echo "<pre class="brush:php;toolbar:false">";
print_r( get_defined_constants());  
?>
로그인 후 복사

Q: php에서 상수를 정의할 때 const와 정의의 차이점은 무엇인가요?

답변: const를 사용하면 코드가 간단해지고 읽기 쉬워집니다. const 자체는 언어 구조이고 정의는 함수입니다. 또한 const는 컴파일 중에 정의하는 것보다 훨씬 빠릅니다.

1. const는 클래스 멤버 변수 정의에 사용됩니다. 한 번 정의하면 수정할 수 없습니다. Define은 클래스 멤버 변수를 정의하는 데 사용할 수 없지만 전역 상수에는 사용할 수 있습니다.

2, Const는 클래스에서 사용할 수 있지만 정의할 수는 없습니다.

3, Const는 조건문에서 상수를 정의할 수 없습니다.

<?php
if(...){
const FOO = &#39;BAR&#39;;    //无效的invalid
}
if(...) {
define (&#39;FOO&#39;, &#39;BAR&#39;); //有效的valid
}
?>
로그인 후 복사

4, const는 일반 상수 이름을 사용하고 표현식은 정의할 수 있습니다.

<?php
const FOO = &#39;BAR&#39;;
for($i= 0; $i< 32; ++$i) {
define(&#39;BIT_&#39; . $i, 1 << $i);
}
?>
로그인 후 복사

5. const는 정적 스칼라만 허용하는 반면, 정의는 모든 표현식을 사용할 수 있습니다

<?php
constBIT_5 = 1 << 5;    //无效的invalid
define(&#39;BIT_5&#39;, 1 << 5); //有效的valid
?>
로그인 후 복사

6. const로 정의된 상수는 대소문자를 구분하지만, 정의는 세 번째 매개변수( true는 대소문자를 구분하지 않음을 나타냅니다.)는 대소문자 구분이 있는지 여부를 지정합니다.

<?php
define (&#39;FOO&#39;, &#39;BAR&#39;, true);
echo FOO; //BAR
echo foo; //BAR
?>
로그인 후 복사

위 내용은 PHP 상수에 대한 자세한 설명: 정의와 const의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿