>  기사  >  백엔드 개발  >  PHP에서 익명 함수를 사용하는 기술 요약(코드 포함)

PHP에서 익명 함수를 사용하는 기술 요약(코드 포함)

不言
不言앞으로
2018-11-17 16:53:452682검색

이 기사는 PHP 익명 함수(코드 포함)를 사용하는 기술에 대한 요약을 제공합니다. 이는 특정 참조 가치가 있으므로 도움이 될 수 있습니다.

클로저 함수라고도 불리는 PHP의 익명 함수를 사용하면 이름 없이 함수를 지정할 수 있습니다. 익명 함수를 변수에 할당하고 변수를 통해 호출합니다. 간단한 예:

<?php
$anonymousFunc = function($username){
    echo $username;
  };
  $anonymousFunc("乔峰!");

팁 1: 익명 함수를 일반 함수에 넣거나 익명 함수를 반환할 수 있습니다. 간단한 클로저

<?php
function closureFunc(){
    $anonymousFunc = function(){
        echo "乔峰!";
    };
    $anonymousFunc();//普通函数内部调用了匿名函数
}
closureFunc();//输出: 乔峰

팁 2 익명 함수에서 지역 변수 참조 (여기서는 php 키워드 사용을 인용해야 합니다)

<?php
function closureFunc(){
    $username = &#39;乔峰&#39;;
    $anonymousFunc = function() use($username){
        echo $username;
    };
    $anonymousFunc();//此处调用了匿名函数
}
closureFunc();//输出: 乔峰

팁 3 일반 함수에서 익명 함수 반환

<?php
function closureFunc(){
    $username = &#39;乔峰&#39;;
    $anonymousFunc = function() use($username){
        echo $username;
    };
    return $anonymousFunc;// 函数返回匿名函数
}
$func = closureFunc();
$func(); //然后调用$func()

팁 4 익명 함수를 반환하고 익명 함수에 매개 변수 전달

<?php
function closureFunc(){
    $username = &#39;乔峰&#39;;
    $anonymousFunc = function($lover,$skill) use($username){
        echo $username.$lover.$skill;
    };
    return $anonymousFunc;
}
$func = closureFunc();
$func("阿朱","擒龙手");//乔峰阿朱擒龙手

팁 5 클로저를 사용하여 위 컨텍스트 참조의 변수 값을 변경

<?php

function closureFunc(){
    $number = 100;
    $anonymousFunc = function() use($number) {
        $number++;
        echo $number.PHP_EOL;
    };
    echo $number.PHP_EOL;
    return $anonymousFunc;
}
$func = closureFunc();// 这里输出1,直接调用本函数的 echo $number.PHP_EOL; 即为100
$func();// 调用函数的返回值 $anonymousFunc  $number++ 即为101
$func(); //101
$func();//101

결과를 입력하고 찾기 다음 두 func()는 모두 101을 반환하고 값은 변경되지 않았습니다. ++ 효과를 누적하려면 & 참조 기호를 추가하면 됩니다(익명 함수 내의 수정 사항도 외부 변수에 영향을 미칩니다). :

<?php

function closureFunc(){
    $number = 100;
    $anonymousFunc = function() use(&$number) {
        $number++;
        echo $number.PHP_EOL;
    };
    echo $number.PHP_EOL;
    return $anonymousFunc;
}
$func = closureFunc();// 这里输出1,直接调用本函数的 echo $number.PHP_EOL; 即为100
$func();// 调用函数的返回值 $anonymousFunc  $number++ 即为101
$func(); //102
$func();//103

팁 6 익명 함수를 매개변수로 전달

<?php
//定义普通函数,anonymousFunc 为参数变量
function myFunc($anonymousFunc){
    $anonymousFunc("乔峰");
}
myFunc(function($username){ //这里调用普通函数,并把 匿名函数作为参数 传给了myFunc中的$anonymousFunc
    echo $username;
});//输出 乔峰

위 내용은 PHP에서 익명 함수를 사용하는 기술 요약(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제

관련 기사

더보기