>백엔드 개발 >PHP 튜토리얼 >PHP에서 정적 변수를 사용하는 방법은 무엇입니까? 정적변수 사용법에 대한 자세한 설명

PHP에서 정적 변수를 사용하는 방법은 무엇입니까? 정적변수 사용법에 대한 자세한 설명

伊谢尔伦
伊谢尔伦원래의
2017-06-30 11:30:112415검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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