>  기사  >  php7.0 함수 유형 및 호출 방법 요약

php7.0 함수 유형 및 호출 방법 요약

PHP中文网
PHP中文网원래의
2017-07-28 15:26:342358검색

PHP의 함수는 매우 단순해 보이지만 실제로는 매우 강력합니다. 함수 이름이 고정되어 있는지 여부에 따라 다음 세 가지 범주로 나눌 수 있습니다.

1. 이름이 고정된 함수:

이런 유형의 함수입니다. 정규 함수는 가장 친숙한 유형인 function 키워드를 사용하여 직접 생성됩니다. 예:

<?php
//1按名调用:最直接和普通的方式
echo &#39;1.用function关键字创建常规函数,按函数名称调用:<br>&#39;;
function add($a, $b){
  return $a.&#39;+&#39;.$b.&#39;=&#39;.($a+$b);
};
echo add(5,6);
echo &#39;<hr>&#39;;

Execution 반환:

1 function 키워드를 사용하여 일반 함수를 생성하고 함수로 호출합니다. 이름:
5+6=11

2. 동적으로 이름이 설정된 함수:

이 유형의 함수에는 익명 함수, 변수 함수, 변수 함수, 클로저 함수 등과 같은 많은 이름이 있습니다. 이름 때문에 겁먹지 마세요.

이 동적으로 설정된 함수는 이 함수를 참조하는 변수명을 이용하여 호출되기 때문에 콜백함수에서 사용하기 매우 적합합니다~~

교육용으로 여기서는 익명함수라고 부르겠습니다.

익명 함수를 만드는 방법은 크게 두 가지가 있습니다. 일부 교과서에서는 이에 대해 별도로 설명하므로 여기서는 별도로 설명하겠습니다.

1. 생성 방법 1: PHP에 내장된 create_function(매개변수 목록, 함수 본문) 함수를 사용하세요. 이 함수에는 두 개의 매개변수가 따옴표로 묶여 있어야 합니다. PHP가 규정합니다. 확신이 없다면 프로그래밍 언어를 만드세요~~

<?php
//2.用系统函数create_function()来创建一个匿名函数/可变函数/变量函数/闭包函数
echo &#39;2.用内置create_function()函数创建匿名函数,用变量名调用:<br>&#39;;
$func1 = create_function(&#39;$a,$b&#39;,&#39;return $a.\&#39;+\&#39;.$b.\&#39;=\&#39;.($a+$b);&#39;);
echo $func1(5,6);
echo &#39;<hr>&#39;;

실행 반환:

2. 내장된 create_function() 함수를 사용하여 익명 함수를 만들고 변수 이름으로 호출하세요:
5+6=11

2. 생성 방법 2 : function 키워드를 사용하여 생성하는 과정은 일반 함수와 동일하지만, 값의 위치, 즉 오른쪽에 나타난다. '=' 등호 옆. 생성된 전체 함수를 변수에 할당합니다.

3. function 키워드를 사용하여 익명 함수를 만들고 변수 이름으로 호출합니다.

5+6=11


3. 호출 및 실행을 위한 매개변수 직접 전달:

이 유형의 함수는 익명 함수와 유사하지만 더 투박합니다. 일단 생성되면 괄호로 묶어 호출할 매개변수를 전달합니다. 함수에는 이름이 전혀 필요하지 않습니다. 일회성 함수에 속합니다. 일회용품과 마찬가지로 사용 후 폐기하세요.

<?php
//3匿名函数:也叫闭包函数,将函数做为值赋给一个变量
echo &#39;3.用function关键字创建匿名函数,用变量名调用:<br>&#39;;
$func2 = function ($a, $b){
  return $a.&#39;+&#39;.$b.&#39;=&#39;.($a+$b);
};
echo $func2(5,6);
echo &#39;<hr>&#39;;

실행 반환:


4. function 키워드를 사용하여 익명 함수를 만든 다음 매개변수를 직접 전달하여 실행을 호출합니다.

5+6=11



요약(매우 중요, 읽어야 함):

php, 함수의 사용은 여전히 ​​매우 유연하지만 최종 분석에서 함수는 여전히 프로세스입니다. 동시에, 사용자가 그 존재와 가치를 인지할 수 있도록 반환값이 있어야 합니다!

그래서 함수는 항상 값으로 사용되므로 등호 '='의 왼쪽에 올 수 없습니다. 이것이 함수와 언어 구조의 가장 큰 차이점입니다.

예를 들어, echo() 및 list()는 함수처럼 보이지만 함수가 아닌 언어 구조라고 자주 말합니다. 등호 왼쪽에 배치할 수 있고 할당을 받을 수 있기 때문입니다. 하지만 기능이 작동하지 않습니다. 이 글을 통해 함수에 대한 더 깊은 이해가 되셨으면 좋겠습니다~~

글 출처: http://peter.php.cn/blog/detail/188.html 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.