티스토리 뷰
PHP 함수 내부에서
젼역변수에 접근하는 방법은 2가지이다.
$GLOBALS 배열 변수 이용
$dinner = '갑오징어 카레';
function macrobiotic_dinner() {
$dinner = "모듬 채소";
print "저녁 메뉴는 $dinner 입니다.";
// 해산물의 유혹에 굴복하고 말았음
print " 하지만 저는 ";
print $GLOBALS['dinner'];
print "를 먹겠어요. \n";
}
macrobiotic_dinner();
print "일반 저녁 메뉴: $dinner";
/* 출력 결과
저녁 메뉴는 모듬 채소입니다. 하지만 저는 갑오징어 카레를 먹겠어요.
일반 저녁 메뉴: 갑오징어 카레
$dinner = '갑오징어 카레';
function hungry_dinner() {
$GLOBALS['dinner'] .= ' 그리고 바싹 익힌 토란';
}
print "일반 저녁 메뉴는 $dinner 입니다.";
print "\n";
hungry_dinner();
pirnt "저녁 특선 메뉴는 $dinner 입니다.";
/* 출력 결과
일반 저녁 메뉴는 갑오징어 카레 입니다.
저녁 특선 메뉴는 갑오징어 카레 그리고 바싹 익힌 토란입니다.
hungry_dinner() 함수 내부에서
일반적인 변수를 수정하듯
$GLOBALS['dinner'] 를 수정하면
전역변수 $dinner도 동시에 수정된다.
global 키워드
$dinner = '갑오징어 카레';
function vegetarian_dinner() {
global $dinner;
print "저녁 메뉴는 $dinner 였습니다만, 지금은 ";
$dinner = '완두싹 볶음';
print $dinner;
print "입니다.\n";
}
print "일반 저녁 메뉴는 $dinner 입니다.";
vegetarian_dinner();
print "일반 저녁 메뉴는 $dinner 입니다.";
/* 출력 결과
일반 저녁 메뉴는 갑오징어 카레 입니다.
저녁 메뉴는 갑오징어 카레였습니다만, 지금은 완두싹 볶음입니다.
일반 저녁 메뉴는 완두싹 볶음 입니다.
첫 번째 print 구문은
전역변수 $dinner의 수정 전 값을 보여준다.
vegetarian_dinner() 함수의 global $dinner
줄은 함수 내부에서 $dinner가 사용되면
지역변수가 아닌 전역변수 $dinner를 가리키라는 의미다.
global 키워드에는 한 번에 여러 변수를 지정할 수 있다.
각 변수명을 쉼표로 구분만 하면 된다.
global $dinner, $lunch, $breakfast;
일반적으로 함수내부에서 전역변수를 참조할땐
$GOLBALS를 쓴다.
그 이유는 global 로 참조하면
내부 변수인지, 전역변수인지 헷갈려서
오류가 날 가능성이 높아지기 때문이다.
$GLOBALS 배열은 사용되는 위치가 함수 안이든 밖이든
관계없이 모든 영역에 존재한다.
$GLOBALS 처럼 미리 정의된 특별한 변수가 갖는 특성으로,
이런 변수들을 자동-전역(auto-global)변수라고도 한다.
자동-전역변수는 영역에 관련된 아무런 조치 없이도
PHP 프로그램 어디서든 사용할 수 있다.
'PHP' 카테고리의 다른 글
PHP 다른 파일의 코드 실행하기 (0) | 2021.04.06 |
---|---|
PHP 인수와 반환값 제한 (0) | 2021.04.06 |
PHP 여러값을 반환하는 함수 (0) | 2021.04.06 |
PHP 인수가 있는 함수 (0) | 2021.04.05 |
PHP 함수의 정의는 함수를 호출한 뒤에 나와도 상관없음 (0) | 2021.04.05 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- html이미지
- C언어동적메모리할당
- 이미지무료다운로드사이트
- PHP"'
- PHP마침표
- C언어malloc함수
- PHPescapecharacter
- HTMLtag사용법
- PHP큰따옴표
- C언어정적메모리할당
- PHP작은따옴표
- PHP작은따옴표역할
- htmlTag
- HTML태그사용법
- html이미지넣기
- PHP문자열연결연산자
- HTMLbestTag
- PHPescaping
- PHP큰따옴표작은따옴표차이점
- 무효클릭신고양식
- PHPhere문서
- C언어프로세스
- PHP'"
- C언어malloc
- PHP이스케이프
- PHP'
- C언어다차원포인터
- PHP이스케이핑
- C언어2차원포인터
- 무효트래픽이의신청
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함