PHP의 함수는 매우 단순해 보이지만 실제로는 매우 강력합니다. 함수 이름이 고정되어 있는지 여부에 따라 다음 세 가지 범주로 나눌 수 있습니다.
1. 이름이 고정된 함수:
이런 유형의 함수입니다. 정규 함수는 가장 친숙한 유형인 function 키워드를 사용하여 직접 생성됩니다. 예:
<?php //1按名调用:最直接和普通的方式 echo '1.用function关键字创建常规函数,按函数名称调用:<br>'; function add($a, $b){ return $a.'+'.$b.'='.($a+$b); }; echo add(5,6); echo '<hr>';
Execution 반환:
1 function 키워드를 사용하여 일반 함수를 생성하고 함수로 호출합니다. 이름:
5+6=11
2. 동적으로 이름이 설정된 함수:
이 유형의 함수에는 익명 함수, 변수 함수, 변수 함수, 클로저 함수 등과 같은 많은 이름이 있습니다. 이름 때문에 겁먹지 마세요.
이 동적으로 설정된 함수는 이 함수를 참조하는 변수명을 이용하여 호출되기 때문에 콜백함수에서 사용하기 매우 적합합니다~~
교육용으로 여기서는 익명함수라고 부르겠습니다.
익명 함수를 만드는 방법은 크게 두 가지가 있습니다. 일부 교과서에서는 이에 대해 별도로 설명하므로 여기서는 별도로 설명하겠습니다.
1. 생성 방법 1: PHP에 내장된 create_function(매개변수 목록, 함수 본문) 함수를 사용하세요. 이 함수에는 두 개의 매개변수가 따옴표로 묶여 있어야 합니다. PHP가 규정합니다. 확신이 없다면 프로그래밍 언어를 만드세요~~
<?php //2.用系统函数create_function()来创建一个匿名函数/可变函数/变量函数/闭包函数 echo '2.用内置create_function()函数创建匿名函数,用变量名调用:<br>'; $func1 = create_function('$a,$b','return $a.\'+\'.$b.\'=\'.($a+$b);'); echo $func1(5,6); echo '<hr>';
실행 반환:
2. 내장된 create_function() 함수를 사용하여 익명 함수를 만들고 변수 이름으로 호출하세요:
5+6=11
2. 생성 방법 2 : function 키워드를 사용하여 생성하는 과정은 일반 함수와 동일하지만, 값의 위치, 즉 오른쪽에 나타난다. '=' 등호 옆. 생성된 전체 함수를 변수에 할당합니다.
3. function 키워드를 사용하여 익명 함수를 만들고 변수 이름으로 호출합니다.
5+6=11
3. 호출 및 실행을 위한 매개변수 직접 전달:
이 유형의 함수는 익명 함수와 유사하지만 더 투박합니다. 일단 생성되면 괄호로 묶어 호출할 매개변수를 전달합니다. 함수에는 이름이 전혀 필요하지 않습니다. 일회성 함수에 속합니다. 일회용품과 마찬가지로 사용 후 폐기하세요.
<?php //3匿名函数:也叫闭包函数,将函数做为值赋给一个变量 echo '3.用function关键字创建匿名函数,用变量名调用:<br>'; $func2 = function ($a, $b){ return $a.'+'.$b.'='.($a+$b); }; echo $func2(5,6); echo '<hr>';
실행 반환:
4. function 키워드를 사용하여 익명 함수를 만든 다음 매개변수를 직접 전달하여 실행을 호출합니다.
요약(매우 중요, 읽어야 함):
php, 함수의 사용은 여전히 매우 유연하지만 최종 분석에서 함수는 여전히 프로세스입니다. 동시에, 사용자가 그 존재와 가치를 인지할 수 있도록 반환값이 있어야 합니다!
그래서 함수는 항상 값으로 사용되므로 등호 '='의 왼쪽에 올 수 없습니다. 이것이 함수와 언어 구조의 가장 큰 차이점입니다.
예를 들어, echo() 및 list()는 함수처럼 보이지만 함수가 아닌 언어 구조라고 자주 말합니다. 등호 왼쪽에 배치할 수 있고 할당을 받을 수 있기 때문입니다. 하지만 기능이 작동하지 않습니다. 이 글을 통해 함수에 대한 더 깊은 이해가 되셨으면 좋겠습니다~~
글 출처: http://peter.php.cn/blog/detail/188.html