함수 (Functions)


함수의 인자

PHPoC는 인자 전달 방식으로 값에 의한 인자 전달과 참조에 의한 인자 전달 그리고 기본 인자 값을 지원합니다.

<?php

function func($arg1, $arg2)  // 값에 의한 전달
{
  $temp = $arg1;
  $arg1 = $arg2;
  $arg2 = $temp;
  return $arg1 + 1;
}
$var1 = 1;
$var2 = 2;
func($var1, $var2);          // 함수 호출
echo "$var1, $var2";         // 출력 결과 $var1과 $var2 실제 값은 바뀌지 않음

?>
[출력 결과]  
1, 2
  • 참조에 의한 인자 전달
    전달하는 변수 자체(실제로는 변수가 존재하는 메모리 주소)를 함수 내부로 전달하는 방식입니다. 변수 자체를 전달하기 때문에 함수 내부에서 변수의 값이 변경되면 함수 밖에 있는 실제 변수에 적용됩니다. 참조에 의한 전달을 위해서는 함수 선언시 인자 값 이름 앞에 엠퍼샌드(&)를 붙입니다.
<?php

function func(&$arg1, &$arg2)  // 참조에 의한 전달
{
  $temp = $arg1;
  $arg1 = $arg2;
  $arg2 = $temp;
  return $arg1 + 1;
}
$var1 = 1;
$var2 = 2;
func($var1, $var2);            // 함수 호출
echo "$var1, $var2";           // 출력 결과 $var1과 $var2 실제 값이 바뀜

?>
[출력 결과]  
2, 1
  • 기본 인자 값
    함수를 정의할 때 인자의 기본 값을 정의할 수 있습니다.
<?php

function print_str($str = "Hello PHPoC!\r\n")  // 기본 인자 값 설정
{
  echo $str;
}
print_str();                                   // 인자 값 없이 함수 호출

?>
[출력 결과]  
Hello PHPoC!