익명 함수를 매개변수로 사용하여 외부 변수에 액세스
이 시나리오에는 데이터베이스 행을 편리하게 처리하는 편리한 함수가 포함됩니다. 그러나 결과 집합의 모든 제목을 단일 변수로 연결해야 하는 특정 요구 사항이 발생합니다. 이는 전역 키워드를 사용하는 덜 우아한 접근 방식에 의존하지 않고 이를 수행하는 방법에 대한 의문을 제기합니다.
한 가지 해결책은 클로저 변수를 사용하는 것입니다. 특히, use 키워드를 사용하면 클로저가 상위 범위에서 변수를 상속받을 수 있습니다. 이는 모든 함수에 걸쳐 지속되는 전역 변수와 다릅니다.
이 솔루션을 구현하려면 코드를 다음과 같이 수정할 수 있습니다.
$result = ''; fetch("SELECT title FROM tbl", function($r) use (&$result) { $result .= $r['title']; });
사용(&$result)을 추가하여 익명 함수를 사용하면 함수 내에서 결과 변수를 참조하고 수정할 수 있습니다. use 키워드는 결과 변수에 대한 참조를 클로저에 효과적으로 전달합니다.
이 접근 방식에는 초기 바인딩이 포함된다는 점에 유의하는 것이 중요합니다. 즉, 클로저는 함수 선언 시점에서 변수 값을 사용합니다. 함수 호출 시점이 아닙니다(후기 바인딩). 이는 이러한 목적으로 클로저를 활용할 때 명심해야 할 사항입니다.
위 내용은 PHP의 익명 함수 내에서 외부 변수에 어떻게 액세스하고 수정할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!