반응형
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="UTF-8" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<body>
<?php
$color = "black";
function echoColor() {
echo $color;
}
echoColor();
?>
</body>
</html>
echoColor() 라는 함수선언문 바깥쪽에 color = "black" 이라는 변수를 생성했습니다.
이후 페이지 소스보기를 통해 확인해보면 아무것도 출력되는 것이 없는것이 확인됩니다.
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="UTF-8" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<body>
<?php
$color = "black";
function echoColor() {
global $color;
echo $color;
}
echoColor();
?>
</body>
</html>
위와 동일한 코드에서 이번엔 global 이라는 함수를 이용해 전역변수로 선언한 후 확인해보겠습니다.
값이 나오는 것을 확인할 수 있습니다.
정리해보자면,
$color 라는 변수는 echoColor 함수 밖에서 정의되어있기 때문에 함수 내에서는 변수 인식이 불가능 합니다.
하지만 global 함수로 전역변수 선언을 하여 전체 프로그램에 영향을 끼치게 만들었으므로 동작하게 되었습니다.
지역변수는 말 그대로 특정한 지역 내에서만 사용이 가능한 함수이고,
전역변수는 전체 지역에서 사용이 가능한 함수입니다.
반응형
'php' 카테고리의 다른 글
연산자 (0) | 2021.07.14 |
---|---|
상수 (0) | 2021.07.14 |
기본 문법 (0) | 2021.07.10 |
selectbox 에서 선택한 값 출력 (0) | 2021.07.10 |
양식(form)으로 전송된 데이터 전달받기 - $_GET, $_POST (0) | 2021.07.09 |