함수는 아래 두 예제처럼 조건적으로 정의할 경우를 제외하고, 참조하기 전에 정의할 필요는 없습니다.
아래 예제 코드와 같이 함수가 조건적으로 선언되면 그 함수가 호출되기 전에 함수를 선언해야 한다.
<?php
$makefoo = true;/* We can't call foo() from here
since it doesn't exist yet,
but we can call bar() */bar();
if ($makefoo) {
function foo()
{
echo "I don't exist until program execution reaches me.\n";
}
}/* Now we can safely call foo()
since $makefoo evaluated to true */if ($makefoo) foo();
function bar()
{
echo "I exist immediately upon program start.\n";
}?>
즉, 조건문안에 function 호출하는 부분과 function define 하는 부분이 같이 있다면, function define 하는 부분이 소스상 먼저 위치해야한다.
참고 : http://php.net/manual/kr/functions.user-defined.php