함수(function)라는것은 간단히 이런겁니다...
어떤 상자안에 뭔가를 넣었더니....요상하게 바뀌어 나오더라...는 거죠
초등학교때 다들 배우셨을겁니다....이렇게;;;
a,b )-----> [ c=a+b ] -----> c
이런거죠?^^;;
그림이 좀 이상하긴 하지만;;;
그 왜 네모난 상자 그리고 하는거 다 해보셨을겁니다..
설명을 하자면...
a와 b를 함수안에 집어넣으면 a와 b의 합인 c가 상자 밖으로 툭~ 튀어 나오는거죠...
+_+잼있죠~ (-_-;;아닌가..)
자 암튼.......여기서 a와 b를 매개변수(파라미터)라고 합니다...
함수중에는 이런 매개변수가 있는것도 있고 없는것도 있다죠....
일단.....php에서는 이미 만들어져 있는 함수가 있습니다...
거의 php는 함수의 홍수라고 해도 과언이 아닌데;;;
알려진 함수가 약 900개는 된다는군요;;; 뜨허;;
이걸 다 외워야 하나 -_-;;;
그런데 기능이 중복되는것도 많고 자주 쓰이는건 한정되어 있으니...그나마 다행이죠;;;
우리가 지금까지 공부해 오면서 많이 써온거 있죠...
echo라는거.......이것도 사실은 함수 입니다...
echo $a;
라고 하면 $a가 매개변수가 되는거겠죠...
그러니까 echo라는 함수에 $a를 집어 넣으면 화면에 $a가 터억~하고찍힙니다......그런 기능의 함수죠....
자~~존재하는 함수 공부는 알아서들 하시공~
처음에 $c에다가 5을 넣어놓고...
함수를 호출합니다...
화면에 3이 찍히겠죠....$c에 1+2인 3이 들어가서 리턴되니까 말이죠..
마지막에 $c를 찍어봅시다.......-_-5가 찍히죠?;;;
어라....함수안에서 $c가 3이었는데;;; 왜 5가;;;
-_,-변수에는 전역변수와 지역변수라는게 있읍죠;;;
말하자면 함수 속에서 쓰인 $c는 지역변수 입니다...
함수안에서만 존재하고 함수 밖에서는 없는 값입니다...
전역변수는 함수 안이건 밖이건 다 쓰이는거죠;;;
지역변수를 전역변수로 바꿔주려면 이렇게~해주면되죠;;
global $c;
적용해 볼까요?
<?
$c=5;
function sum($a,$b)
{
global $c;
$c=$a+$b;
return $c;
}
echo sum(1,2);
echo "<br>$c";
?>
이렇게 하면;;;
함수안에서의 $c가 전역변수가 되어서...
밖에서도 $c를 쓸수가 있다는거죠;;;
그럼 이렇게 바꿔볼수도 있겠죠?
<?
function sum($a,$b)
{
global $c;
$c=$a+$b;
}
sum(1,2);
echo $c;
?>
자 한줄씩 볼까요~
sum이라는 함수를 선언하고....
$c를 전역변수로 만들어 준다음에...$a+$b를 해서 $c에 넣습니다..
그리고 리턴이나 echo가 없죠....그걸로 끝입니다...
대신 $c라는 전역변수에 $a+$b가 들어가 있는거죠...
그리고 sum()함수를 호출합니다....1,2를 매개변수로 넣고 말이죠
결국 전역변수 $c에는 1+2가 들어가는거죠...
그래서 $c를 찍으면 3이 찍히게 되는거죠.........~
함수는 좀더 복잡한 공식들을 간편하게 사용할수 있게 해줍니다..
적용할 부분이 많으면 많을수록 더 유용하게 되겠죠?