클로저가 있는 for 루프의 익명 함수
cron 라이브러리를 사용하여 작업을 예약할 때 작업 목록을 반복할 때 일반적인 오류가 발생합니다. 루프 내에서 익명 함수를 사용하려고 시도합니다. 이 오류는 각 작업이 고유한 설명을 인쇄해야 하지만 대신 목록의 마지막 작업에 대한 설명을 인쇄해야 할 때 특히 두드러집니다.
근본적인 문제는 익명 함수가 변수를 처리하는 방식에 있습니다. 목록을 반복할 때 루프 변수는 목록의 각 요소 값을 순차적으로 사용합니다. 그러나 루프 내의 익명 함수는 모든 반복에서 공유되는 원래 루프 변수에 바인딩됩니다. 이는 모든 익명 함수가 동일한 루프 변수 값을 사용하게 되어 마지막 작업 설명이 여러 번 인쇄된다는 의미입니다.
이 문제를 해결하려면 반복할 때마다 새 변수를 만들어야 합니다. 루프의 각 익명 함수가 변수의 자체 인스턴스를 갖도록 보장합니다. 이 기술은 폐쇄로 인한 합병증을 방지합니다.
이 조정을 통해 각 작업에는 고유한 설명이 있으며 예정된 시간이 되면 올바르게 인쇄됩니다.
위 내용은 클로저의 익명 함수가 For 루프의 마지막 작업 설명만 인쇄하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!