Maison >développement back-end >tutoriel php >[PHP Learning] Six conseils pour utiliser les fonctions anonymes

[PHP Learning] Six conseils pour utiliser les fonctions anonymes

little bottle
little bottleavant
2019-04-23 14:12:042475parcourir

Cet article parle principalement de six conseils pour utiliser les fonctions anonymes. Il a une certaine valeur d'apprentissage. Les amis intéressés peuvent l'apprendre.

J'ai déjà écrit un article sur l'utilisation des fermetures (cliquez ici pour entrer). Cette fois, je vais donner un résumé détaillé de l'utilisation et de la compréhension approfondies des fonctions anonymes en php :

Les fonctions anonymes en php sont également appelées fonctions de fermeture permettant de spécifier une fonction sans nom. Attribuez la fonction anonyme à une variable et appelez-la via la variable. Un exemple simple :

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

Astuce 1 : Placez la fonction anonyme dans une fonction normale, ou vous pouvez mettre la fonction anonyme. fonction anonyme Retour, : Cela forme une simple fermeture

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

Astuce 2 Référencez les variables locales dans les fonctions anonymes (ici, vous devez citer une utilisation de mot-clé PHP)

<?php

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

Astuce 3 Renvoyer une fonction anonyme dans une fonction normale

<?php

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

Astuce 4 Renvoyer une fonction anonyme et transmettre des paramètres à la fonction anonyme

<?php

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

Astuce 5 Utilisez la fermeture pour modifier la valeur de la variable référencée par le contexte

<?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
Dans les résultats d'entrée ci-dessus, on constate que les deux func() suivantes les deux renvoient 101, la valeur It n'a pas changé. Si vous souhaitez accumuler l'effet ++, ajoutez simplement un symbole de référence & (les modifications au sein de la fonction anonyme affecteront également les variables externes Modifier :

<?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
Conseils 6

Passer des fonctions anonymes en paramètres

Tutoriels associés :
<?php
//定义普通函数,anonymousFunc 为参数变量
function myFunc($anonymousFunc){
    $anonymousFunc("乔峰");
}

myFunc(function($username){ //这里调用普通函数,并把 匿名函数作为参数 传给了myFunc中的$anonymousFunc
    echo $username;
});//输出 乔峰
Tutoriel vidéo PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer