본문 바로가기

PHP/PHP Programming

[PHP] 정적변수

반응형

정적변수



 동적변수와 정적변수의 차이는 함수나 클래스 안에서 반복문이나 재귀호출에 의해 수행되는 변수가 함수의 종료 시까지 메모리에 할당해두는 것을 정적 변수라 합니다. 변수 앞에 static 구분을 추가해 주면 정적변수가 됩니다.


ex #01)

<?php
	function tet01() {

		$a++;
		echo $a;
	}

	function test02() {

		static $a;
		$a++;
		$echo $a;
	}

	for($i = 0; $i <= 10; $i++) {

		tets01();    // 동적변수입니다.

	}    // 출력 : 1111111111

	echo "<br/>";

	for($i = 0; $i <= 10; $i++) {

		tets02();    // 정적변수입니다.

	}    // 출력 : 12345678910
?>


ex #02)

<?php
	function foo() {
		
		static $bar;
		$bar++;
		echo "Before unser : $bar, ";
		unset($bar);
		$bar = 23;
		echo "After unset : $bar\n";
	}

	foo();    // 출력 : Before unset : 1, After unset : 23
	foo();    // 출력 : Before unset : 2, After unset : 23
	foo();    // 출력 : Before unset : 3, After unset : 23
?>


반응형

'PHP > PHP Programming' 카테고리의 다른 글

[PHP] 상수의 정의  (0) 2015.03.31
[PHP] 가변변수  (0) 2015.03.29
[PHP] CGI 환경변수  (0) 2015.03.29
[PHP] 함수의 기본 문법  (0) 2015.03.17
[PHP] 세션  (0) 2014.12.26