함수는 특정 기능을 나눠놓은 코드 조각이다. 기능을 분리함으로서 가독성과 사용성을 높일 수 있다.
<?php
function hello_php()
{
echo "hello php";
}
hello_php();
echo "<br />";
function nicetomeet($var)
{
echo "nice to meet $var";
}
nicetomeet("you");
echo "<br />";
function add($a, $b)
{
$result = $a + $b;
return $result;
}
$result = add(1, 2);
echo $result;
echo "<br />";
function defaultfunc($name='yse'){
echo "my name is $name";
}
defaultfunc();
echo "<br />";
defaultfunc('30min php');
echo "<br />";
위 코드를 funcs.php 파일에 저장하고 브라우저에서 결과를 확인한다.
hello php
nice to meet you
3
my name is yse
my name is 30min php
함수는 function 키워드로 정의하고 바로 다음에 이름을 기술한다. () 안에 파라미터를 선언하며 블럭{} 안에 내용을 기술한다.
function 함수이름(파라미터1,파라미터2..){
함수 내용
}
첫번째 함수 hello_php 는 기본적인 함수의 형태를 보여준다.
function hello_php()
{
echo "hello php";
}
호출할 때는 함수명(파라미터들) 형태로 호출할 수 있다. 두번째 함수 nicetomeet 는 파라미터가 있는 함수를 정의하는 예시이다.
function nicetomeet($var)
{
echo "nice to meet $var";
}
호출해 본다.
nicetomeet("you");
결과는 아래와 같다.
nice to meet you
함수는 결과를 반환(return) 할 수 있다. 리턴한 결과는 호출한 곳에서 사용 가능하다.
세번째 함수 add 는 파라미터 여러개를 전달받아서 결과를 반환하는 함수의 예시다.
function add($a, $b)
{
return $result; // 결과를 반환한다.
}
호출해 본다.
$result = add(1, 2);
결과는 아래와 같다.
3
함수는 기본 파라미터(default parameter) 를 가질 수 있다. 파라미터가 전달되지 않으면 기본 파라미터를 사용하고 파라미터를 전달하면 전달된 파라미터를 사용하게 된다.
네번째 함수 defaultfunc 는 기본 파라미터가 있는 함수다.
function defaultfunc($name='yse'){
echo "my name is $name";
}
파라미터가 없을 경우는 아래와 같은 결과가 나온다.
defaultfunc();
my name is yse
파라미터가 전달되었을 때는 파라미터로 기본값이 대체된다.
defaultfunc('30min php');
Copymy name is 30min php