[PHP] 04. PHP 변수 범위

Posted by 낭만사업가 정대표 블로그 on 2022-04-11 07:06:29

PHP 변수 범위

PHP에서 변수는 스크립트의 어느 곳에서나 선언될 수 있습니다.

변수의 범위는 변수를 참조/사용할 수 있는 스크립트의 일부입니다.

PHP에는 세 가지 변수 범위가 있습니다.

  • local
  • global
  • static

Global and Local 범위

함수 외부에서 선언된 변수는 전역(GLOBAL)범위를 가지며 함수 외부에서만 액세스할 수 있습니다.

Example

전역범위 변수:

<?php
$x = 5// global scope

function myTest() {
  // using x inside this function will generate an error
  echo "<p>Variable x inside function is: $x</p>";
}
myTest();

echo "<p>Variable x outside function is: $x</p>";
?>
Try it Yourself »

함수 내에서 선언된 변수는 LOCAL SCOPE를 가지며 해당 함수 내에서만 액세스할 수 있습니다.

Example

Variable with local scope:

<?php
function myTest() {
  $x = 5// local scope
  echo "<p>Variable x inside function is: $x</p>";
}
myTest();

// using x outside the function will generate an error
echo "<p>Variable x outside function is: $x</p>";
?>
Try it Yourself »

지역 변수는 선언된 함수에서만 인식되기 때문에 다른 함수에서 같은 이름을 가진 지역 변수를 가질 수 있습니다.

 

PHP global 선언

global 키워드는 함수 내에서 전역 변수에 액세스하는 데 사용됩니다.

이렇게 하려면 변수 앞에 global 키워드를 사용합니다(함수 내부).

Example

<?php
$x = 5;
$y = 10;

function myTest() {
  global $x, $y;
  $y = $x + $y;
}

myTest();
echo $y; // outputs 15
?>
Try it Yourself »

PHP는 또한 모든 전역 변수를 $GLOBALS[index]라는 배열에 저장합니다. index 는 변수의 이름을 보유합니다. 이 배열은 함수 내에서도 액세스할 수 있으며 전역 변수를 직접 업데이트하는 데 사용할 수 있습니다. 

위의 예는 다음과 같이 다시 작성할 수 있습니다.

Example

<?php
$x = 5;
$y = 10;

function myTest() {
  $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}

myTest();
echo $y; // outputs 15
?>
Try it Yourself »

PHP static 선언

일반적으로 함수가 완료/실행되면 모든 변수가 삭제됩니다. 그러나 때때로 우리는 지역 변수가 삭제되지 않기를 원합니다. 추가 작업을 위해 필요합니다.

이렇게 하려면 변수를 처음 선언할 때 static 키워드를 사용하세요. 

Example

<?php
function myTest() {
  static $x = 0;
  echo $x;
  $x++;
}

myTest();
myTest();
myTest();
?>
Try it Yourself »

그런 다음 함수가 호출될 때마다 해당 변수에는 마지막으로 함수가 호출된 시점부터 포함된 정보가 계속 유지됩니다.

Note: 변수는 여전히 함수에 대해 로컬입니다. 


Total 164
번호 제목 글쓴이 조회 날짜
39 07-15
214 07-15
162 28 07-20
161 24 07-20
160 19 07-20
159 25 07-20
158 20 07-20
157 19 07-20
156 92 06-20
155 28 07-20
154 931 06-21
153 60 06-20
152 139 02-25
151 755 02-27
150 32 07-08
RSS

오픈런하우스

1인가구를 위한 원룸형 아파트 쉐어하우스, 1인기업(프리랜서)을 위한 홈오피스형 공유주택

GO!