PHP의 클로저 함수는 외부 함수의 변수에 액세스할 수 있는 다른 함수 내에 중첩된 익명 함수입니다. use 키워드는 클로저 함수의 외부 변수에 액세스하는 데 사용할 수 있으며, 이는 목록의 각 요소에 할인을 적용해야 하는 실제 시나리오에 적용될 수 있습니다.
PHP 함수의 클로저 함수
클로저 함수는 외부 함수가 반환된 경우에도 외부 함수의 변수에 액세스할 수 있는 다른 함수에 중첩된 익명 함수입니다. 클로저 함수는 재사용 가능한 코드 블록을 생성하고 외부 환경에 대한 액세스를 유지할 수 있기 때문에 PHP에서 매우 유용합니다.
클로저 함수 만들기
PHP에서 클로저 함수를 만들려면 function
키워드와 선택적 이름 및 인수 목록을 사용하세요. function
关键字,后跟一个可选的名称和参数列表:
$closure = function($arg1, $arg2) { // 函数体 };
闭包函数中的变量范围规则如下:
use
。使用 use
关键字
use
function outerFunction($arg1) { $outerVar = '外部变量'; $closure = function() use ($arg1, $outerVar) { // 闭包函数可以访问 $arg1 和 $outerVar }; }
use
로 명시적으로 선언되지 않는 한 중첩된 함수 외부에서 선언된 변수에 액세스할 수 없습니다. use
키워드 사용 use
키워드는 클로저 함수에 외부 변수를 도입하는 데 사용됩니다. 예: function applyDiscount($list, $discountPercentage) { // 创建闭包函数来计算折扣 $discountClosure = function($item) use ($discountPercentage) { return $item - ($item * ($discountPercentage / 100)); }; // 将折扣闭包函数应用于列表中的每个元素 return array_map($discountClosure, $list); }
function outerFunction($arg1) { $outerVar = '外部变量'; $closure = function() use ($arg1, $outerVar) { // 闭包函数可以访问 $arg1 和 $outerVar echo "arg1: $arg1<br>"; echo "outerVar: $outerVar<br>"; }; // 调用闭包函数 $closure(); } applyDiscount([10, 20, 30], 10); // [9, 18, 27]
위 내용은 PHP 함수의 클로저 함수를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!