코어 포인트
PHP의 고차 함수는 하나 이상의 함수를 입력으로 받아들이거나 함수를 출력으로 반환 할 수있는 함수를 나타냅니다. 이 기능은 쉽게 확장 및 코드 재사용을위한 코드 유연성을 향상시킵니다.
PHP에서 키워드callable
라는 함수는 여러 입력 함수를 취하고 여러 매개 변수에서 작동합니다. callable
array_map
이 기사는 주로 함수를 매개 변수로 전달하는 데 중점을 둘 것입니다. 매개 변수 및 반환 함수는 결과로서 비 국한 변수 및 폐쇄의 개념을 간단히 소개합니다. (이전 단락에 연결된 Wikipedia 기사의 1.1, 1.4 및 1.3 섹션 에서이 개념에 대한 자세한 내용을 읽을 수 있습니다.)
callable
callable
return
return
// 我们将传递给高阶函数的简单用户定义函数 function echoHelloWorld() { echo "Hello World!"; } // 接受函数作为输入并调用它的高阶函数 function higherOrderFunction(callable $func) { $func(); } // 调用我们的高阶函数并传入我们的echoHelloWorld()函数。 // 请注意,我们只将名称作为字符串传递,没有括号。 // 这将输出 "Hello World!" higherOrderFunction('echoHelloWorld');
<-> 아마도 고차 함수 자체는 어떤 유형의 기능을 받을지 알 수 없습니다. 기능이받는 기능에 대한 정보를 알아야한다고 누가 말합니까? 입력 함수는 한동안
함수 일 수 있으며 다음 순간은 <🎜 🎜> 기능 일 수 있습니다. 두 경우 모두 잘 작동합니다.// 返回PHP中名为trim()的现有函数。注意它是一个简单的字符串,没有括号。 function trimMessage1() { return 'trim'; } // 这是一个使用匿名内联函数的示例 function trimMessage2() { return function($text) { return trim($text); }; } // 返回'trim'函数 $trim1 = trimMessage1(); // 使用我们的字符串进行修剪并调用它 echo $trim1(' hello world '); // 返回内部调用'trim'的匿名函数 $trim2 = trimMessage1(); // 使用我们的字符串进行修剪并再次调用它 echo $trim2(' hello world ');
를 가지고 있다고 가정하지만 나중에
함수를 추가해야합니다. <🎜 🎜> 함수를 작성하고 변경하지 않고 고차 기능을 통해 전달할 수 있습니다. 나중에 예제에서, 우리는이 기능을 사용하여 고유 한 및
로 호출 할 수 있습니다. 이 경우, 계산 된 기능은받는 기능이 무엇을하는지 신경 쓰지 않습니다. 그것은 단지 인수를 함수에 전달하고 결과를 반환합니다.
<'s> 마지막으로, 그것을 php : 결론 <🎜 🎜>
<,>이 기사에서는 기능을 고차 기능으로 만드는 기본 정의를 소개합니다. 함수 (또는 둘 다)를 수락하거나 반환하는 함수는 고차 기능으로 간주 될 수 있습니다. 또한 이러한 유형의 기능과 장점을 만들고 싶은 이유에 대해서도 논의합니다.
PHP의 고차 함수는 기능 프로그래밍의 기본 개념입니다. 그것들은 다른 기능에서 인수로 받아들이거나 결과로 반환함으로써 작동 할 수있는 기능입니다. 이를 통해보다 추상적이고 간결한 코드가 가능하여 가독성과 유지 관리가 향상됩니다. 고급 주문 기능을 사용하면 코드 복제 및 복잡성을 줄여 코드가보다 효율적이고 디버깅하기가 더 쉬워집니다. 함수를 고려해 봅시다. 콜백 함수와 배열을 매개 변수로 사용하고 배열의 각 요소에 콜백 함수를 적용하며 결과가 포함 된 새 배열을 반환합니다.
<-> 예, PHP의 고차 기능은 여러 기능을 반환 할 수 있습니다. 이것은 일반적으로 다양한 함수를 반환하여 수행됩니다. 그러나 각 반환 된 기능에는 고유 한 범위가 있으며 다른 반환 된 함수와 변수를 공유하지 않습니다.
PHP의 폐쇄는 주변 범위에서 변수를 캡처하는 익명 함수입니다. 그들은 종종 매개 변수보다 더 많은 데이터에 액세스하는 함수의 생성을 허용하기 때문에 더 높은 차수 기능으로 사용됩니다. 이는보다 유연하고 재사용 가능한 코드를 작성하는 데 매우 유용합니다. 예, PHP는 일부 내장 고차 기능을 제공합니다. 몇 가지 예로는 , 입력 매개 변수를 수용하는 함수/메소드를 찾으면 찾았습니다. 다음은 일반적으로 사용되는 고차 기능의 몇 가지 예입니다. 당신은 당신의 지식없이 그것들을 사용했을 수도 있습니다.
callable
<🎜 🎜>
로, 함수와 매개 변수 목록과 해당 함수를 호출합니다. 이것은 본질적으로 사용자 정의 고차 기능입니다. 전체 목적은 다른 사용자 정의 기능을 호출하는 것입니다.
array_map
<<> 및 array_filter
는 많은 코드 프로젝트에서 찾을 수있는 매우 인기있는 두 가지 고차 기능입니다. 당신이 사용할 수있는 또 다른 함수는 // 我们将传递给高阶函数的简单用户定义函数
function echoHelloWorld() {
echo "Hello World!";
}
// 接受函数作为输入并调用它的高阶函数
function higherOrderFunction(callable $func) {
$func();
}
// 调用我们的高阶函数并传入我们的echoHelloWorld()函数。
// 请注意,我们只将名称作为字符串传递,没有括号。
// 这将输出 "Hello World!"
higherOrderFunction('echoHelloWorld');
// 返回PHP中名为trim()的现有函数。注意它是一个简单的字符串,没有括号。
function trimMessage1() {
return 'trim';
}
// 这是一个使用匿名内联函数的示例
function trimMessage2() {
return function($text) {
return trim($text);
};
}
// 返回'trim'函数
$trim1 = trimMessage1();
// 使用我们的字符串进行修剪并调用它
echo $trim1(' hello world ');
// 返回内部调用'trim'的匿名函数
$trim2 = trimMessage1();
// 使用我们的字符串进行修剪并再次调用它
echo $trim2(' hello world ');
array_filter
array_map
: <🎜 🎜>를 통과하면됩니다.
call_user_func
$arrayOfNums = [1,2,3,4,5];
// array_map:使用内联匿名函数的示例
$doubledNums = array_map(function($num) {
return $num * 2;
}, $arrayOfNums);
var_dump($doubledNums); // 输出包含 [2, 4, 6, 8, 10] 的数组
calc()
와 비교해 봅시다
$arrayOfNums = [1,2,3,4,5];
// 创建函数并将其提供给高阶函数array_filter()的示例
function isEven($num) {
return ($num % 2) === 0;
}
// array_filter是一个高阶函数
$evenNums = array_filter($arrayOfNums, 'isEven');
var_dump($evenNums); // 输出包含 [2, 4] 的数组
array_map
array_filter
PHP의 정상 함수는 특정 작업을 수행하고 결과를 반환합니다. 반면에, 고차 함수는 하나 이상의 함수를 매개 변수로, 결과로 반환 함수를 또는 동시에이 두 특성을 가질 수 있습니다. 이를 통해 코드에서 유연성과 추상화가 더 높아서 코드가 적은 복잡한 기능을 생성 할 수 있습니다. calc()
// 我们将传递给高阶函数的简单用户定义函数
function echoHelloWorld() {
echo "Hello World!";
}
// 接受函数作为输入并调用它的高阶函数
function higherOrderFunction(callable $func) {
$func();
}
// 调用我们的高阶函数并传入我们的echoHelloWorld()函数。
// 请注意,我们只将名称作为字符串传递,没有括号。
// 这将输出 "Hello World!"
higherOrderFunction('echoHelloWorld');
PHP의 고차 기능은 여러 가지 이점을 제공합니다. 더 추상적이고 간결한 코드를 허용하여 가독성과 유지 관리를 향상시킬 수 있습니다. 또한 코드 복제 및 복잡성을 줄여서 코드를보다 효율적이고 디버깅하기 쉽게 할 수 있습니다. 또한 고차 기능은 다른 행동을 다른 행동으로 전달하여 다른 동작을 달성 할 수 있기 때문에 코드 재사용을 용이하게 할 수 있습니다.
<-> 예, PHP의 고차 함수는 다른 스코프의 함수를 받아 들일 수 있습니다. 이는 PHP가 일류 함수를 지원하기 때문에 다른 함수의 매개 변수로 함수를 전달하고, 다른 함수에 의해 반환되고, 변수에 할당 될 수 있음을 의미합니다.
// 返回PHP中名为trim()的现有函数。注意它是一个简单的字符串,没有括号。
function trimMessage1() {
return 'trim';
}
// 这是一个使用匿名内联函数的示例
function trimMessage2() {
return function($text) {
return trim($text);
};
}
// 返回'trim'函数
$trim1 = trimMessage1();
// 使用我们的字符串进行修剪并调用它
echo $trim1(' hello world ');
// 返回内部调用'trim'的匿名函数
$trim2 = trimMessage1();
// 使用我们的字符串进行修剪并再次调用它
echo $trim2(' hello world ');
및
가 포함됩니다. 이러한 기능은 콜백 기능을 인수로 받아들이고 다양한 방식으로 배열의 요소에 적용합니다.
위 내용은 PHP의 기능 프로그래밍 : 고차 기능의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!