PHP의 함수는 호출하기 전에 정의할 필요가 없습니다.
PHP의 모든 함수와 클래스는 전역 범위를 가지며 함수 외부에서 호출할 수 있습니다. 그 반대도 마찬가지입니다.
PHP는 함수 오버로드를 지원하지 않으며 선언된 함수를 정의 취소하거나 재정의하는 것이 불가능합니다. >재귀 함수는 PHP에서 호출할 수 있습니다. 그러나 100-200 수준을 초과하는 재귀 함수/메서드 호출은 피하십시오. 이로 인해 스택이 붕괴되고 현재 스크립트가 종료될 수 있습니다.
함수의 정의:
함수 함수명([매개변수 목록]){
함수 본문
}
PHP는 기본적으로 값으로 전달하지만 참조로 전달할 수도 있습니다(이 방법을 사용할 수 있음) 함수 본문에서 전달된 매개변수 값을 변경합니다.)
예:
function fun(&$var){
$var++;
}
$var = 0;
fun ($var);
echo $var;
출력 1;
PHP 지원 기본 매개변수 값.
예:
function fun($var1,$var2=2,$var3=3){
return $var1+$var2+$var3;}
echo fun(1);
echo fun(1,1); echo fun(1,1,2);
은 각각 6 5 4를 출력합니다
참고: 모든 기본 매개변수는 기본이 아닌 매개변수의 오른쪽에 배치됩니다. 그렇지 않으면 함수가 예상대로 작동하지 않습니다.
위 함수가 다음과 같이 변경된 경우:
function fun($var2=2,$var3=3,$var1){
return $var1+$var2+$var3;}echo fun(1);
echo fun(1,1);echo fun(1,1, 2 );
위의 세 번째 호출 메서드는 정상적으로 실행될 수 있지만 처음 두 메서드는 문제를 일으킬 수 있습니다.
PHP는 가변 개수의 매개변수 목록을 지원합니다.
PHP5.6 이전에는 매개변수 정보를 얻으려면 func_num_args()를 사용하여 매개변수 개수를 얻고, func_get_arg(i)를 사용하여 i번째 값을 얻어야 했습니다. 매개변수;
예:
function fun(){
$len = func_num_args();
$res = 0;
for($i = 0; $i
$ res += func_get_arg($i) ;
}
return $res;}
PHP5.6에 도입된 ...$args 메소드,
예:
function fun(...$args){
$res = 0;
foreach($args를 $val로){
$res += $val;
}
return $res;
}
두 방법의 결과는 동일합니다.
PHP의 변수 함수 개념
즉, 변수 이름 뒤에 괄호가 있으면 PHP는 다음과 같은 변수를 찾습니다. 변수의 값과 동일한 이름을 입력하고 실행해 보세요. 가변 함수는 콜백 함수 및 함수 테이블을 포함한 일부 목적을 구현하는 데 사용될 수 있습니다.
예:
function fun(){
echo "안녕하세요";}$var = "fun";
$var();//fun() 함수가 호출됩니다
PHP의 익명 함수
클로저 함수(클로저)라고도 하는 익명 함수를 사용하면 지정된 이름 없이 함수를 임시로 생성할 수 있습니다. 콜백 함수 인수로 가장 일반적으로 사용되는 값입니다.
다음과 같이 할당을 통해 익명 함수의 함수 이름을 지정할 수도 있습니다.
$fun = function () {
echo "HelloWorld";};$fun();
위에서는 php(4) 함수를 그 기능을 포함하여 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.