Closure는 일반적인 개념이므로 일반적으로 Callback 함수와 함께 사용하여 코드를 더 간결하고 읽기 쉽게 만들 수 있습니다. 이번 글에서는 주로 PHP 클로저 외부 변수 가져오기와 전역 키워드를 사용한 변수 선언의 차이점을 소개합니다. PHP 클로저 외부 변수 가져오기에 대한 글을 살펴보겠습니다.
최근 Workerman을 배우면서 콜백 함수에 대해 더 자주 접하게 되었습니다. 사용하는 동안 워커를 사용하는 방법이 다르기 때문에 이 두 가지 방법을 자주 사용합니다. 클로저 획득. 외부 변수와 전역 키워드 선언 변수의 차이점.
클로저
클로저는 일반적인 개념으로, 일반적으로 코드를 더 간결하고 읽기 쉽게 만들기 위해 콜백 함수와 함께 사용할 수 있습니다.
클로저는 함수가 복사를 통해 상위 범위의 변수를 사용하도록 할 수 있습니다. 예:
$global = 'hello'; $bbb = function()use($global){ echo $global."\n"; }; $bbb(); //输出 'hello'
global을 통해 변수를 선언하면 함수 본문이 함수 외부에서 변수를 호출할 수도 있지만 global은 전역 키워드를 사용하는 것과 다릅니다. 외부 변수와 동일한 이름을 가진 reference를 생성하고 함수 내의 변수를 수정하면 외부 변수의 범위도 지정됩니다.
$global = 'hello'; $fun = function(){ global $global; $global =' world'; echo $global."\n"; }; $fun(); // 输出 'world'
$global = 'hello'; $fun = function(){ global $global; $global =' world'; echo 'a:'.$global."\n"; }; $ccc = function(){ echo 'b:'.$global; }; $fun() $ccc() /*
a: world Notice: Undefined variable: global in xxxxxxx on line xx */
<?php $global = 'hello'; $fun = function(){ global $global; $global ='world'; echo 'a:'.$global."\n"; }; $bbb = function()use($global){ $global = 'china'; echo 'c:'.$global."\n"; }; $fun(); echo 'b:'.$global."\n"; $bbb(); echo 'd:'.$global;
출력:
a: world b: world c:china d: world
익명 함수
, 클로저 및 콜백 함수를 사용하는 좀 더 전형적인 예를 게시하겠습니다.
위는 외부 변수를 얻기 위한 PHP 클로저와 변수를 선언하기 위한 전역 키워드의 차이점에 대한 편집자의 소개입니다. 궁금한 점이 있으면 커뮤니티에 문의하세요. Q&A는 이 사이트에서 물어보세요!
관련 권장 사항:
PHP 클로저 기능의 실제 적용 지침
PHP 클로저란 무엇입니까? 클로저 사용법 예에 대한 자세한 설명
php 클로저 구문 연구 1위 내용은 외부 변수를 얻는 PHP 클로저와 전역 키워드 선언 간의 차이점에 대한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!