함수 (Functions)


사용자 정의 함수

사용자 정의 함수는 자주 사용되는 코드를 함수로 정의하여 필요할 때마다 함수 이름만으로 호출함으로써 소스코드의 크기를 줄이고, 분석을 쉽게 하는데 사용됩니다. 함수는 함수 이름, 인자 값, 명령문 및 반환 값 등으로 구성되며, 함수 이름 생성 규칙은 변수이름 생성 규칙과 동일합니다.

사용자 지정 함수 이름
첫 글자 나머지 글자
알파벳 또는 _(밑줄) 알파벳, 숫자 또는 _(밑줄)
문법 구조 설명
function 함수이름(인자 값)
{
  명령문;
  return 반환 값;
}
지정된 함수 이름의 사용자 정의 함수를 생성
인자 값은 여러 개 사용 또는 생략 가능
return 또는 반환 값 또한 생략 가능
문법 구조 설명
함수이름(인자 값1, 인자 값2, ...); 인자 값은 변수 형태로도 사용 가능
함수이름은 대/소문자를 구분 함
<?php

function func()        // func() 함수 선언
{
  echo "Hello PHPoC";
}
func();                // func() 함수 호출

?>
  • 반환 값 사용 예
<?php

function func()        // func() 함수 선언
{
  return 5;
}
$var = func();         // func() 함수 호출
echo $var;

?>
[출력 결과]  
5
  • 인자 값 사용 예
    함수의 처리를 위한 값을 함수 외부로부터 전달하고자할 때 사용하는 것이 인자입니다. 함수의 인자는 쉼표(,)로 구분된 값, 변수 또는 표현식을 나열하여 사용합니다.
<?php

function func($arg)   // func() 함수 선언 및 $arg를 인자로 받음
{
  return $arg + 1;    // 받은 인자 $arg에 1을 더한 값을 반환
}
$var = func(2);       // func() 함수에 인자로 2를 넘기고 3을 반환 받음
echo $var;
$var = func($var);    // 인자 $var(= 3)의 값을 넘김
echo $var;
$var = func($var+1);  // 인자 $var+1(= 5)의 값을 넘김
echo $var;

?>
[출력 결과]  
346
  • 함수의 재귀적 호출 예
    함수의 선언문 안에서 함수를 다시 호출할 수 있습니다. 이 때 호출할 수 있는 함수에는 자기 자신도 포함됩니다.
<?php

function func($arg)   // func() 함수 선언 및 $arg를 인자로 받음
{
  if($arg < 6)
  {
    echo "$arg\r\n";  // $arg 출력
    $arg++;           // $arg에 1을 더한 값을 $arg에 대입
    func($arg);       // func() 함수를 호출하여 인자로 $arg를 전달
  }
}
func(1);              // func() 함수를 호출하여 인자로 1을 전달

?>
[출력 결과]  
1
2
3
4
5