PHP 변수 범위의 또 다른 중요한 기능은 static 변수(static 변수)입니다. 정적 변수는 로컬 function 도메인에만 존재하며 한 번만 초기화됩니다. 프로그램 실행이 이 범위를 벗어나면 해당 값은 사라지지 않으며 마지막 실행 결과가 사용됩니다.
다음 예를 보세요:
<?php function Test() { $w3sky = 0; echo $w3sky; $w3sky++; } ?>
이 함수는 $w3sky의 값을 0으로 설정하고 호출될 때마다 "0"을 출력합니다. 변수 $w3sky++를 1씩 늘려도 효과가 없습니다. 왜냐하면 이 함수가 종료되면 변수 $w3sky가 존재하지 않기 때문입니다. 이 카운트 값을 잃지 않는 카운팅 함수를 작성하려면 $w3sky 변수를 정적으로 정의하십시오.
다음과 같이:
<?php function Test() { static $w3sky = 0; echo $w3sky; $w3sky++; } ?>
이 함수는 $w3sky의 값을 출력하고 Test()가 호출될 때마다 1을 추가합니다.
정적 변수는 재귀 함수를 처리하는 방법도 제공합니다. 재귀 함수는 자기 자신을 호출하는 메서드입니다. 재귀 함수를 작성할 때는 종료 없이 무한정 재귀할 수 있으므로 주의하십시오. 재귀를 중단할 수 있는 방법이 있는지 확인하십시오. 다음의 간단한 함수는 정지 시점을 결정하기 위해 정적 변수 $count를 사용하여 10까지 재귀적으로 계산합니다.
정적 변수 및 재귀 함수의 예:
<?PHP function Test() { static $count = 0; $count++; echo $count; if ($count < 10) { Test(); } $count--; } ?>
참고: 정적 변수는 위의 예와 같이 선언될 수 있습니다. 선언문에 expression의 결과를 할당하면 파싱 오류가 발생합니다.
정적 변수 선언의 예:
<?PHP function foo(){ static $int = 0;// correct static $int = 1+2; // wrong (as it is an expression) static $int = sqrt(121); // wrong (as it is an expression too) $int++; echo $int; } ?>
위 내용은 PHP에서 정적 변수를 사용하는 방법은 무엇입니까? 정적변수 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!