> 백엔드 개발 > PHP 튜토리얼 > php(4)——함수

php(4)——함수

WBOY
풀어 주다: 2016-08-08 09:27:18
원래의
1059명이 탐색했습니다.

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 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿