클로저라고도하는 익명 함수는 런타임에 함수를 동적으로 정의하기 위해 PHP가 지원하는 메커니즘입니다. 이 유형의 함수는 이름이 없으며 변수에 직접 할당하거나 매개 변수로 전달되거나 콜백 및 기타 시나리오에 사용될 수 있습니다. 현대적인 PHP 프로그래밍에서 매우 일반적입니다.
PHP에서 익명 함수 수신 매개 변수를 정의하기위한 기본 구문은 다음과 같습니다.
function($argument1, $argument2, ..., $argumentN) {
// 기능 본체
}
일반 함수와 같은 여러 매개 변수를 익명 함수로 전달할 수 있습니다.
익명 함수의 매개 변수는 값과 참조별로 두 가지 방식으로 전달 될 수 있습니다.
값이 전달되면 함수 내의 매개 변수로 수정하면 외부 변수에 영향을 미치지 않습니다.
// 가치로 통과하십시오
$increment = function($number) {
return $number + 1;
};
echo $increment(5); // 산출:6
참조별로 전달하면 & 기호가 사용되며 함수 내부의 매개 변수 변경은 함수 외부에서 동기식으로 반영됩니다.
// 참조로 통과하십시오
$double = function(&$number) {
$number *= 2;
};
$value = 4;
$double($value);
echo $value; // 산출:8
익명 기능을 실질적으로 적용하는 것은 매우 널리 퍼져 있으며, 다음은 공통 용도를 설명하기위한 두 가지 예입니다.
익명 함수를 사용하여 Array_Filter 기능을 결합하여 특정 조건을 충족하는 배열에서 요소를 신속하게 필터링합니다.
$numbers = array(1, 2, 3, 4, 5);
$evenNumbers = array_filter($numbers, function($number) {
return $number % 2 == 0;
});
print_r($evenNumbers);
// 산출:Array ( [1] => 2 [3] => 4 )
익명 기능은 문자 처리와 같은 고급 응용 프로그램에서도 사용할 수 있습니다.
$string = "Hello, world!";
$lengthWithoutSpaces = 0;
array_walk(str_split($string), function($character) use (&$lengthWithoutSpaces) {
if (ord($character) != 32) {
$lengthWithoutSpaces++;
}
});
echo $lengthWithoutSpaces; // 산출:12
PHP의 익명 기능은 구문뿐만 아니라 강력합니다. 유연한 매개 변수 전달 방법을 지원하고 함수 내에서 직접 들어오는 값이나 참조를 사용할 수 있으며, 이는 코드의 가독성과 모듈성을 향상시키는 데 큰 도움이됩니다. 매일 개발에서 익명 기능의 사용을 마스터하는 것은 효율적인 PHP 코드 작성의 중요한 부분입니다.