이전 기사에서 PHP의 정의 사용 사례를 소개했습니다. 오늘은 PHP 상수 정의와 const의 차이점에 대해 자세히 설명하겠습니다!
상수는 간단한 식별자입니다. 이 값은 스크립트 실행 중에 변경할 수 없습니다(상수가 아닌 소위 마법 상수 제외). 상수는 기본적으로 대소문자를 구분합니다. 일반적으로 상수 식별자는 항상 대문자입니다.
define() 함수를 사용하여 상수를 정의할 수 있습니다. php5.3.0 이후에는 const 키워드를 사용하여 클래스 정의 외부에서 상수를 정의할 수 있습니다. 이전 버전에서는 const 키워드를 클래스에서만 사용할 수 있습니다. 상수가 정의되면 변경하거나 정의 취소할 수 없습니다.
상수에는 스칼라 데이터(부울, 정수, 부동 소수점 및 문자열)만 포함될 수 있습니다. 리소스 상수를 정의할 수 있지만 예측할 수 없는 결과를 초래할 수 있으므로 피해야 합니다.
상수는 이름만 지정하면 값을 얻을 수 있습니다. 변수와 달리 상수 앞에 $ 기호를 붙이면 안 됩니다. 상수 이름이 동적이면 상수() 함수를 사용하여 상수 값을 가져올 수도 있습니다. 정의된 모든 상수 목록을 얻으려면 get_define_contstants()를 사용하세요.
상수와 변수는 다음과 같습니다.
1. 상수 앞에 달러 기호($)가 없습니다
2. 상수는 정의() 함수를 통해서만 정의할 수 있습니다. 할당문을 통하지 않음
3. 상수는 변수의 범위에 관계없이 어디서든 정의하고 액세스할 수 있습니다
4. 상수는 한번 정의되면 재정의하거나 정의 취소할 수 없습니다
5. 상수 값은 스칼라만 가능합니다
<?php // 以下代码在 PHP 5.3.0 后可以正常工作 const USERNAME = 'zhouguowei'; echo USERNAME; echo constant("USERNAME"); const ZHOUUSERNAME = 'zhouguowei2222222222'; define('MYUSERNAME','zhouguowei1111111'); 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 = 'BAR'; // 无效的invalid } if (...) { define('FOO', 'BAR'); // 有效的valid } ?>
4. const는 일반 상수 이름을 사용하고, 정의는 표현식을 이름으로 사용할 수 있습니다.
5. const는 정적 스칼라만 허용하지만 정의는 모든 표현식을 사용할 수 있습니다6、const定义的常量时大小写敏感,而define可以通过第三个参数(为true表示大小写不敏感)来指定大小写是否敏感。 总结: 本文通过实例为大家更为直观的了解php常量define与const的区别详解,希望对你的工作有所帮助! 相关推荐: 위 내용은 PHP 상수 정의와 const의 차이점에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!<?php
const BIT_5 = 1 << 5; // 无效的invalid
define('BIT_5', 1 << 5); // 有效的valid
?>
<?php
define('FOO', 'BAR', true);
echo FOO; // BAR
echo foo; // BAR
?>