>  기사  >  백엔드 개발  >  PHP 함수의 정적 변수 메커니즘은 무엇입니까?

PHP 함수의 정적 변수 메커니즘은 무엇입니까?

王林
王林원래의
2024-04-10 21:09:021126검색

PHP 함수의 정적 변수 메커니즘을 사용하면 변수가 함수 호출 간에 값을 유지할 수 있으므로 다음과 같은 기능을 수행할 수 있습니다. 함수 호출 간에 상태를 유지합니다. 중복된 변수를 생성하지 마세요. 코드를 단순화하세요.

PHP 函数的静态变量机制是什么?

PHP 함수의 정적 변수 메커니즘

소개

정적 변수는 함수 내부에만 존재하며 함수가 호출될 때마다 그 값을 유지하는 특수한 변수 범위입니다. 이는 각 함수 호출 후에 재설정되는 일반 변수와 다릅니다.

Syntax

정적 변수를 선언하려면 아래와 같이 변수 앞에 static 키워드를 추가하면 됩니다.

function foo() {
  static $counter = 0;
  $counter++;
  echo $counter;
}

실용 사례

증분이라고 불릴 때마다 인쇄하는 함수를 만들고 싶다고 가정해 보겠습니다. 카운터. 정적 변수를 사용하면 이를 쉽게 달성할 수 있습니다.

function getCounter() {
  static $counter = 0;
  $counter++;
  return $counter;
}

echo getCounter();  // 输出 1
echo getCounter();  // 输出 2
echo getCounter();  // 输出 3

비정적 변수와 다름

  • 범위: 정적 변수는 함수 내부에만 존재하는 반면, 비정적 변수는 함수가 호출될 때 생성됩니다.
  • 가시성: 정적 변수는 함수 내부에서 볼 수 있지만 비정적 변수는 함수 외부에서 볼 수 없습니다.
  • 할당: 정적 변수에는 값을 할당할 수 있지만 비정적 변수에는 한 번만 할당할 수 있습니다.

장점

  • 함수 호출 사이에 상태를 유지합니다.
  • 중복 변수 생성을 피하세요.
  • 단순화된 코드.

Notes

  • 정적 변수는 함수 호출 사이에도 값을 유지하므로 예상치 못한 부작용을 피하기 위해 주의해서 사용해야 합니다.
  • 다른 함수에 함수가 포함되면 정적 변수의 범위가 확장됩니다.

위 내용은 PHP 함수의 정적 변수 메커니즘은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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