1. 형식
형식1) result= setlocal()
형식2) result= setlocal(local_flag)
2. 기능: 사용자 정의 함수내에서 전역 변수에 값을 대입(변경)하는 관련 함수에
대하여 지역 또는 전역 변수 참조 방식을 선택할 수 있도록 지정한다.
htmlquery(), listmerge(), msqlFetchGlobal(), mysql_fetch_global()
함수는 결과값과 각각 해석(처리)된 값이 전역 변수로 대입될 수 있으며
이와 같은 함수를 사용자 정의 함수내에서 사용할 때 전역 변수로 대입
되는 것을 사용자 정의 함수내에서만 사용되는 지역 변수로 대입되도록
변수 참조 방식을 지정할 수 있다.( setlocal()의 초기값은 0 이다 )
3. 설명
(1) 형식1)은 현재 설정된 값을 얻을 때 사용한다.
(2) 인자 local_flag이 0 일 때 즉, setlocal(0) 또는 setlocal(OFF) 이면
전역 변수만 참조한다.
(3) 인자 local_flag이 0 이 아닐 때 즉, setlocal(1) 또는 setlocal(ON) 이면
지역 변수 참조후 전역변수를 참조한다.
(4) 설정된 local_flag의 값( 0 또는 1 )이 result에 돌려진다.
4. 사용예
function test_setlocal(string str, int flag)
{
setlocal(flag);
htmlquery(str);
printf(" [사용자 정의 함수 내부] a=%d b=%d\n", a, b);
}
vfree a, b;
test_setlocal("a=2&b=3", ON);
printf(" [사용자 정의 함수 외부] a=%d b=%d\n", a, b);
vfree a, b;
test_setlocal("a=2&b=3", OFF);
printf(" [사용자 정의 함수 외부] a=%d b=%d\n", a, b);
------------------------------ [ 출력결과 ] ------------------------------
[사용자 정의 함수 내부] a=2 b=3
[사용자 정의 함수 외부] a=0 b=0
[사용자 정의 함수 내부] a=2 b=3
[사용자 정의 함수 외부] a=2 b=3
|