>백엔드 개발 >PHP 문제 >PHP 정의의 용도는 무엇입니까

PHP 정의의 용도는 무엇입니까

青灯夜游
青灯夜游원래의
2023-01-30 15:59:372146검색

PHP에서는 Define() 함수를 사용하여 상수를 정의합니다. 구문은 "define($name, $value, $case_insensitive)"입니다. 매개변수 "$case_insensitive"는 상수가 대소문자인지 여부를 지정하는 데 사용됩니다. 구분, 기본값은 대소문자 구분입니다. 값을 true로 설정하면 대소문자를 구분하지 않는다는 의미입니다. 상수는 한번 정의되면 재정의하거나 정의 취소할 수 없습니다.

PHP 정의의 용도는 무엇입니까

이 튜토리얼의 운영 환경: windows7 시스템, PHP8 버전, DELL G3 컴퓨터

define은 PHP에 내장된 함수로, 상수를 정의하는 데 사용됩니다.

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

상수는 설정 후에는 상수 값을 변경할 수 없다는 점이 다릅니다. 범위는 상수에 대한 액세스에 영향을 미치지 않습니다. 상수 값은 문자열 또는 숫자만 될 수 있습니다.

define() 함수는 상수를 정의합니다

적법한 상수 이름은 문자와 밑줄로만 시작할 수 있으며 그 뒤에는 문자, 숫자 또는 모든 길이의 밑줄이 올 수 있습니다. PHP에서는 정의() 함수를 통해 상수를 정의할 수 있습니다. 정의() 함수의 구문은 다음과 같습니다.

define($name, $value , $case_insensitive)
  • $name 필수 매개변수, 상수 이름(큰따옴표나 작은따옴표로 묶어야 함) quote)

  • $ 값은 필수 매개변수이며, 상수

  • $case_insensitive 선택적 매개변수의 값은 대소문자 구분 여부를 지정하며, 기본값은 대소문자 구분, true로 설정하면 대소문자 구분 없음을 의미합니다

<?php
header("Content-type:text/html;charset=utf-8");
define(&#39;WebSite&#39;, &#39;php中文网&#39;);
echo WebSite.&#39;<br>&#39;;
?>

PHP 정의의 용도는 무엇입니까

확장된 지식:

const 키워드는 상수를 정의합니다.

php5.3.0 이후에는 const 키워드를 사용하여 클래스 정의 외부에 상수를 정의할 수 있습니다. 수업에 사용됩니다.

구문: ​​

const 常量名 = 常量值;

예:

<?php
const FOO = &#39;BAR&#39;;
echo FOO.&#39;<br>&#39;;
?>

define()과 const의 차이점:

const는 컴파일 타임에 상수를 정의하는 반면, Define() 메서드는 런타임에 상수를 정의합니다.

const는 if 문에서 사용할 수 없으며 defne()은 if 문에서 사용할 수 있습니다.

if(...) {
    const FOO = &#39;BAR&#39;;//错误
}
if(...) {
    define(&#39;FOO&#39;, &#39;BAR&#39;);//正确
}

define()의 일반적인 시나리오는 상수를 정의하기 전에 먼저 상수가 정의되었는지 여부를 확인하는 것입니다.

if(defined(&#39;FOO)) {
    define(&#39;FOO&#39;, &#39;BAR&#39;)
}

const 상수를 정의할 때 값은 정적 스칼라(숫자, 문자열, true, false)만 될 수 있습니다. , null) 및 정의 () 메소드는 모든 표현식의 값을 상수 값으로 사용할 수 있습니다. PHP 5.6부터 const를 사용하면 표현식을 상수 값으로 사용할 수도 있습니다.

const BIT_5 = 1 << 5; //PHP5.6后支持,之前的PHP版本不支持
define(&#39;BIT_5&#39;, 1 << 5);// 所有PHP版本都支持const 只允许简单的常量名,而define()可以把任何表达式的值用作常量名
for ($i = 0; $i < 32; $i++) {
    define(&#39;BIT_&#39; . $i, 1 << $i);
}

const로 정의된 상수 이름은 대소문자를 구분하며, 대소문자를 구분하지 않는 상수는 정의() 메서드의 세 번째 매개변수에 true를 전달하여 정의할 수 있습니다.

define(&#39;FOO&#39;, &#39;BAR&#39;, true);
echo FOO; //BAR
echo foo; //BAR

위에 나열된 내용은 정의()에 비해 const의 몇 가지 단점이나 유연성이 없습니다. 상수를 정의하기 위해 개인적으로 정의() 대신 const를 사용하는 것을 권장하는 이유를 살펴보겠습니다(위 목록에서 const를 사용하려는 경우 제외). 장면에 정의된 상수).

const는 가독성이 더 좋고, const는 함수가 아닌 언어 구조이며, 클래스에서 클래스 상수를 정의하는 형식과 일치합니다.

const는 현재 네임스페이스의 상수를 정의하며, 정의할 때 정의 시 전체 네임스페이스 이름을 전달해야 유사한 효과를 얻을 수 있습니다.

namespace A\B\C;
//To define the constant A\B\C\FOO:
const FOO = &#39;BAR&#39;;
define(&#39;A\B\C\FOO&#39;, &#39;BAR&#39;);

권장 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP 정의의 용도는 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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