익명 함수 내에서 전역 변수에 액세스
PHP에서 익명 함수는 본질적으로 전역 변수에 대한 액세스가 부족합니다. 이는 이러한 익명 함수 내에서 외부 변수를 조작하려고 시도할 때 문제가 될 수 있습니다.
예:
다음 코드를 고려하세요.
$variable = "nothing"; functionName($someArgument, function() { $variable = "something"; });
이 코드를 실행하면 익명 함수가 전역 범위에 액세스할 수 없기 때문에 $variable은 "아무 것도"로 유지됩니다.
해결책: 클로저
이 문제를 해결하기 위해 PHP는 다음을 도입합니다. 폐쇄의 개념. 클로저는 익명 함수 내에서 둘러싸는 범위의 변수를 조작할 수 있게 해줍니다. 클로저를 생성하려면 익명 함수 선언에 use 키워드를 추가하세요.
functionName($someArgument, function() use(&$variable) { $variable = "something"; });
이 경우 use 키워드에는 앰퍼샌드(&)가 동반되어 $variable 변수가 다음으로 전달됨을 나타냅니다. 참조. 이를 통해 익명 함수가 전역 $변수를 수정할 수 있습니다.
참고: 전역 변수가 수정되었는지 확인하기 위해 클로저 내에서 변수를 참조할 때 앰퍼샌드(&)를 사용하는 것이 필수적입니다. , 변경사항은 익명 함수 외부에 반영됩니다.
위 내용은 PHP의 익명 함수 내에서 전역 변수를 어떻게 수정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!