>  기사  >  백엔드 개발  >  php--선언문

php--선언문

伊谢尔伦
伊谢尔伦원래의
2016-11-24 09:14:571504검색

declare 구조는 코드 조각의 실행 명령을 설정하는 데 사용됩니다. 선언 구문은 다른 흐름 제어 구조와 유사합니다.

declare (directive)
    statement

지시문 부분을 사용하면 선언 코드 세그먼트의 동작을 설정할 수 있습니다. 현재 알려진 명령어는 틱과 인코딩 두 가지뿐입니다.

참고: 인코딩은 PHP 5.3.0의 새로운 명령입니다.

선언 코드 세그먼트의 명령문 부분이 실행됩니다. 실행 방법과 실행 중에 발생하는 부작용은 지시문에 설정된 명령에 따라 다릅니다.

선언 구조는 전역 범위에서도 사용될 수 있으며 모든 후속 코드에 영향을 미칩니다(그러나 선언 구조가 있는 파일이 다른 파일에 포함된 경우 이를 포함하는 상위 파일에는 영향을 미치지 않습니다).

<?php
// these are the same:
// you can use this:
declare(ticks=1) {
    // entire script here
}
// or you can use this:
declare(ticks=1);
// entire script here
?>

틱(클럭 주기)은 인터프리터가 선언 코드 세그먼트에서 시간이 가능한 N 개의 하위 수준 문을 실행할 때마다 발생하는 이벤트입니다. N 값은 선언의 지시문 부분에서 Ticks=N으로 지정됩니다.

모든 진술에 시간이 정해져 있는 것은 아닙니다. 일반적으로 조건식과 매개변수 표현식은 시간 제한이 없습니다.

각 틱에서 발생하는 이벤트는 Register_tick_function()에 의해 지정됩니다. 자세한 내용은 아래 예를 참조하세요. 틱당 여러 이벤트가 발생할 수 있습니다.

예제 #1 Tick 사용 예

<?php
declare(ticks=1);
// A function called on each tick event
function tick_handler()
{
    echo "tick_handler() called\n";
}
register_tick_function(&#39;tick_handler&#39;);
$a = 1;
if ($a > 0) {
    $a += 2;
    print($a);
}
?>

예제 #2 Tick 사용 예

<?php
function tick_handler()
{
  echo "tick_handler() called\n";
}
$a = 1;
tick_handler();
if ($a > 0) {
    $a += 2;
    tick_handler();
    print($a);
    tick_handler();
}
tick_handler();
?>

register_tick_function() 및 unregister_tick_function()을 참조하세요.

인코딩

인코딩 지시문을 사용하여 각 스크립트의 인코딩 방법을 지정할 수 있습니다.

예제 #3 스크립트의 인코딩 방법 지정

261b8a4512696924df462ba944b4894a

주의 네임스페이스와 결합될 때 선언에 대한 유일한 합법적인 구문은 선언(인코딩='...');입니다. 여기서 ...는 인코딩된 값입니다. 그리고 선언(인코딩='...') {}은 네임스페이스와 결합될 때 구문 분석 오류를 생성합니다.


PHP 5.3에서는 컴파일 시 --enable-zend-multibyte를 지정하지 않으면 선언의 인코딩 값이 무시됩니다.

phpinfo()를 사용하지 않으면 PHP는 컴파일 중에 --enable-zend-multibyte가 지정되었는지 여부를 표시하지 않습니다.


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