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
Libérer: 2023-04-06 09:32:02
avant
2457 Les gens l'ont consulté

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("乔峰!");
Copier après la connexion

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();//输出: 乔峰
Copier après la connexion

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();//输出: 乔峰
Copier après la connexion

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()
Copier après la connexion

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("阿朱","擒龙手");//乔峰阿朱擒龙手
Copier après la connexion

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
Copier après la connexion
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
Copier après la connexion
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;
});//输出 乔峰
Copier après la connexion
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!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal