PHP의 클로저(Closure)도 익명기능입니다. PHP5.3에서 도입되었습니다.
클로저 구문은 매우 간단합니다. 주의해야 할 유일한 키워드는 클로저와 외부 변수를 연결하는 방법을 사용하는 것입니다.
1 2 3 |
$a = 함수 () 사용 ( $b ) {
|
클로저의 여러 기능:
1 foreach 루프의 코드 줄이기
1 2 3 4 5 6 7 8 9 2 2 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
< code>// 추가된 일부 품목과 각 품목의 수량을 포함한 기본 장바구니입니다.
|
这里如果我们改造getTotal函数必然要使用到foreach
2 减少函数的参数
1 2 3 4 5 6 7 8 9 |
|
如果是使用平时的方法,我们会把inner放到html函数参数中,这样不管是代码阅读还是使用都不如使用闭包
3 解除递归函数
1 2 3 4 5 6 7 8 9 10 |
$my_cart ->add( '우유' , 3)
|
// 판매세 5%를 포함한 총 가격을 인쇄하세요. /code>🎜🎜<code>인쇄
$my_cart
->getTotal(0.05)
"n"
; 🎜🎜// 결과는 54.29
🎜🎜?>
🎜🎜🎜🎜🎜🎜 getTotal 함수를 변환하려면 여기서 사용해야 합니다. foreach🎜🎜2 함수 매개변수🎜🎜1🎜🎜2🎜🎜3🎜🎜4🎜🎜5🎜🎜6🎜🎜7🎜🎜8 🎜 🎜9🎜🎜 | 🎜[php] 일반 보기 복사 🎜🎜함수 html ( $code , $id = "" , $class= "" ){ 🎜🎜if ( code ><code>$id !== "" ) $id = " id = "$id"" 🎜🎜$class = ( $class !== "" )? " class ="$class"" :">" ; 🎜🎜$open = " < ;$code$id$class" ; 🎜🎜$close = "</$code> ; 🎜🎜return 함수 ( $inner = "" ) 사용 ( $open , $close ){ 🎜🎜반환 "$open$inner$close" ;}; 🎜🎜} 🎜🎜🎜🎜🎜🎜 일반적인 방법을 사용하면 내부를 html 함수 매개변수이므로 코드를 읽거나 사용하든 클로저를 사용하는 것이 좋습니다🎜🎜3 잠금 해제재귀 함수🎜🎜1🎜🎜2🎜🎜3🎜🎜4🎜🎜5🎜🎜6🎜🎜7🎜🎜8🎜🎜9🎜🎜10🎜🎜 🎜 | [php] 일반 보기 복사 🎜🎜<?php 🎜🎜 $fib 코드> = 함수 ( $n ) 사용 (&amp;amp;amp;amp; $fib ) { 🎜🎜 if ($n == 0 || $n == 1) 반환 코드> <code>1; 🎜🎜 반환 $fib ( $n - 1) + $fib ( $n - 2 ); 코드>🎜🎜 } 🎜🎜 echo $fib 코드>( 2) . "n" ; // 2 🎜🎜 $lie = $fib 🎜🎜 $fib 코드> = 함수 (){ 다이 ( '오류' );}; //$fib 변수 다시 쓰기 🎜🎜 echo $lie (5); // 클로저에서 $fib를 참조했기 때문에 오류가 발생했습니다. 🎜🎜🎜🎜🎜위 질문에서 사용은 &를 사용합니다. 여기서 &를 사용하지 않으면 오류 n-1)을 찾을 수 없습니다(fib 유형은 이전에 정의되지 않았습니다) 따라서 사용해야 합니다. 루프 기능을 취소하려면 클로저를 사용하세요. >
这样的形式 4 关于延迟绑定 如果你需要延迟绑定use里面的变量,你就需要使用引用,否则在定义的时候就会做一份拷贝放到use中
[php] 일반 보기 복사 🎜🎜<?php 🎜🎜$result = 0; 🎜🎜$one = 함수 () 🎜🎜{ var_dump($result ) } 🎜🎜$two = 함수<code>() 사용 ( $result ) 🎜🎜 { var_dump( $result ) }; 🎜🎜$3 = 함수 () 사용 (&amp;amp;amp;amp; $result ) 🎜🎜{ var_dump($result ) } 🎜🎜$result ++; /code> 🎜🎜<code>$one (); // NULL 출력: $result가 범위에 포함되지 않음 🎜🎜$two <code>(); // int(0) 출력: $result가 복사되었습니다. 🎜🎜$3 () <code>//outputs int(1) 🎜🎜🎜🎜🎜🎜참조를 사용하거나 사용하지 않는다는 것은 호출할 때 값을 할당하거나 선언할 때 값을 할당한다는 의미🎜🎜위는 PHP 모든 사람을 위해 작성한 클로저 function() use()의 자세한 사용법은 앞으로 모든 사람에게 도움이 되기를 바랍니다. 🎜🎜PHP 관련 기술 기사를 더 보려면 🎜PHP 튜토리얼🎜 칼럼을 방문하여 알아보세요! 🎜
|
위 내용은 PHP 클로저 함수()의 자세한 사용법()의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!