함수에서 다른 파일을 include 할 때 전역 변수 인식이 안되는 현상
다음의 두 파일이 있습니다.
a.php
[code]
<?
a();
function a()
{
include_once "b.php";
}
?>
[/code]
b.php
[code]
<?
$var = "this is b";
b();
function b()
{
global $var;
echo "b() : $var <br/>";
}
?>
[/code]
이렇게 했을 때 예상하는 결과는... "b() : this is b" 인데..
"b() : " 라고만 나오네요..
함수안에서 include 했을 때 include 된 파일에서 선언한 변수가 global 키워드로 접근이 안되네요.
$GLOBALS['var'] 를 보아도 변수는 있는데 값이 할당이 안되어있는데..
왜 이럴까요?
댓글 2개
13년 전
$var 라는 변수는 전역변수가 아닙니다.
a 함수에 속한 지역변수입니다.
즉 a 함수에 속한 $var 변수는 지역변수이므로
b 함수에서 global $var ; 라고 하셔도 전역변수가 없기 때문에 값이 비어있습니다.
a 함수에 속한 지역변수입니다.
즉 a 함수에 속한 $var 변수는 지역변수이므로
b 함수에서 global $var ; 라고 하셔도 전역변수가 없기 때문에 값이 비어있습니다.
byfun
13년 전
역시..;; 그렇다면 저렇게 b파일에 변수를 선언해 놓으면.. 함수에서 그대로 가져다 쓸 방도가 없겠군요.. a파일은 제가 만들려는 프로그램의 함수이고 b파일은 어떤 파일이 될지 모르는 상황이라 음..
게시판 목록
자유게시판
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 공지 |
|
1주 전 | 10 | |
| 199688 | 2개월 전 | 187 | ||
| 199687 | 2개월 전 | 181 | ||
| 199686 | 2개월 전 | 484 | ||
| 199685 | 2개월 전 | 107 | ||
| 199684 | 2개월 전 | 167 | ||
| 199683 |
|
2개월 전 | 169 | |
| 199682 |
비버팩토리
|
2개월 전 | 115 | |
| 199681 | 2개월 전 | 176 | ||
| 199680 | 2개월 전 | 155 | ||
| 199679 | 2개월 전 | 126 | ||
| 199678 | 2개월 전 | 206 | ||
| 199677 |
|
2개월 전 | 212 | |
| 199676 | 2개월 전 | 128 | ||
| 199675 | 2개월 전 | 104 | ||
| 199674 | 2개월 전 | 267 | ||
| 199673 | 2개월 전 | 170 | ||
| 199672 | 2개월 전 | 169 | ||
| 199671 | 2개월 전 | 146 | ||
| 199670 | 2개월 전 | 129 | ||
| 199669 |
|
2개월 전 | 216 | |
| 199668 | 2개월 전 | 145 | ||
| 199667 |
nekoieye
|
2개월 전 | 206 | |
| 199666 | 2개월 전 | 167 | ||
| 199665 | 2개월 전 | 459 | ||
| 199664 | 2개월 전 | 161 | ||
| 199663 | 2개월 전 | 267 | ||
| 199662 |
|
2개월 전 | 151 | |
| 199661 | 2개월 전 | 127 | ||
| 199660 |
별찢이내린다샤랄랄라랄라
|
2개월 전 | 234 | |
| 199659 |
|
2개월 전 | 150 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기