외부에서 계산된 변수를 사용한 콜백 함수
기본적으로 다음과 같은 작업을 수행하고 싶습니다.
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$avg = array_sum($arr) / count($arr);
$callback = function($val){ return $val < $avg };
return array_filter($arr, $callback);
이것이 실제로 가능합니까?익명 함수 외부의 변수를 계산하여 내부에서 사용?
사용할 수 있습니다.use
키워드: 상위 범위에서 변수를 상속합니다.이 예에서는 다음을 수행할 수 있습니다.
$callback = function($val) use ($avg) { return $val < $avg; };
자세한 내용은 익명 기능에 대한 설명서 페이지를 참조하십시오.
PHP 7.4 이상을 사용하는 경우 화살표 기능을 사용할 수 있습니다.화살표 함수는 외부 변수를 자동으로 캡처하여 다음을 수행할 필요가 없는 익명 함수를 정의하는 보다 간결한 방법입니다.use
:
$callback = fn($val) => $val < $avg;
화살표 함수가 얼마나 간결한지를 고려할 때, 당신은 합리적으로 그것들을 내에서 직접 쓸 수 있습니다.array_filter
호출:
return array_filter($arr, fn($val) => $val < $avg);
글로벌 변수 사용(예: $GLOBAL['avg']
$arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
$GLOBALS['avg'] = array_sum($arr) / count($arr);
$callback = function($val){ return $val < $GLOBALS['avg'] };
$return array_filter($arr, $callback);
언급URL : https://stackoverflow.com/questions/4588714/callback-function-using-variables-calculated-outside-of-it
'programing' 카테고리의 다른 글
프로젝트에 동일한 이름의 모듈이 있는 경우 표준 라이브러리에서 가져오려면 어떻게 해야 합니까?(Python이 모듈을 찾는 위치를 어떻게 제어할 수 있습니까?) (0) | 2023.07.29 |
---|---|
스프링 데이터 jpa를 사용하여 단일 필드 업데이트 (0) | 2023.07.29 |
DB 오류를 파악하여 비즈니스 계층에 유용한 정보로 변환하는 방법은 무엇입니까? (0) | 2023.07.24 |
Numpy: 범위 내 요소의 인덱스 찾기 (0) | 2023.07.24 |
com.android를 실행하는 동안 오류가 발생했습니다.몸을 굽히다내부의. (0) | 2023.07.24 |