..


스폰서 링크

PHP 5.3의 폐쇄 및 익명 함수

작성한 기사 리카르도 Brambilla
2 페이지 1

PHP 5.3로 사용할 익명 함수 (람다 함수)와 폐쇄는 ... 하지만 무엇인가?

익명 함수

익명 함수 (또는 람다) 콜백 함수로 정의되는 그들의 주요 사용 (뿐만 아니라하지만)로이 기능 (이름없이)입니다.

콜백 함수가 무엇인지 묻는 사람을 위해 이렇게 정의를 단순화 수 : 함수가 다른 함수에 인수로 전달.

아마도 그것이 예제를 참조하는 것이 더 좋습니다, 지혜로움에 대해 첫번째 의사 코드로 작성된 어디 보자, 콜백은 익명으로하지 않습니다와 PHP 사실의 특권 :






 / / 콜백 #







 콜백 함수 (매개 변수)

 





 매개 변수 뭔가를







 결과 처리를 반환









 / / # 발신자







 전화 기능 (입력, 콜백 (매개 변수))



그것은 그것을 취소하지? 문제 없습니다, 우리는 서명 array_walk하는 라이브러리 함수를 사용하여 실질적인 예를 볼 수 없다 :

 



 이 기능은 $ 콜백 funcname $ ($ UserData를이 선택되는 생략) 배열의 각 요소에 적용됩니다.

 

그것을 사용하는 PHP 버전 5.3 이전에 우리는 예를 들어 작성해야합니다






 $ 배열 = 배열​​ ( "릭", "조지", "마");







 echoEach 함수 ($ 항목) {



  



 $ 항목을 에코.

 



 "<br />";







 }









 array_walk ($ 배열, "echoEach");



그것이 람다의 사용으로 변경하는 방법 보자 :






 $ 배열 = 배열​​ ( "릭", "조지", "마");







 array_walk ($ 배열 함수 ($ 항목) {



  



 $ 항목을 에코.

 



 "<br />";







 });



두 버전의 경우 출력됩니다 :






 뒤틀리기







 조지







 매튜



입력 및 콜백 서명으로 배열을 받아 또 다른 예를 들면, array_filter 기능, :






 array_filter 배열 (배열 $ 입력 [, 콜백 콜백 $])



우리는 익명 함수를 사용 :






 $ ArrayNum = 배열​​ (1, 3, 6, 5, 2, 8);







 $ 필터링된 = array_filter ($ arrayNum 함수 ($ 항목) {



  



 $ 항목> 2를 반환합니다;







 });









 방법인 print_r ($ 필터링);



출력 :






 배열







 (



  



 [1] => 3



  



 [2] => 6



  



 [3] => 5



  



 [5] => 8







 )



그것은 2보다 큰 값을 필터링 배열입니다.

우리는 무엇을 얻을합니까? 코드 가독 성과 우아함을에.

같은 범주에 ...
E - 학습
리눅스 (코스) 리눅스 (코스)
오픈 소스 시스템에 완료 안내. 49 €에서.
MySQL은 (코스) MySQL은 (코스)
오픈 소스 데이터베이스의 관리. 39 €에서.
PHP (코스) PHP (코스)
동적 웹 사이트를 만드는 전체 과정. 49 €에서.
스폰서 링크