Résumé des techniques d'utilisation des fonctions anonymes en PHP (avec code)

不言
Libérer: 2023-04-04 12:24:01
avant
2696 Les gens l'ont consulté

Ce que cet article vous apporte est un résumé des techniques d'utilisation des fonctions anonymes PHP (avec du code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

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

<?php
$anonymousFunc = function($username){
    echo $username;
  };
  $anonymousFunc("乔峰!");
Copier après la connexion

Astuce 1 : sera. anonyme La fonction peut être placée dans une fonction normale, ou la fonction anonyme peut être renvoyée : Cela forme une simple fermeture

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

Astuce 2 Référencez des variables locales dans des fonctions anonymes (ici vous devez citer un mot-clé PHP)

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

Astuce 3 Retour fonctions anonymes dans les fonctions ordinaires

<?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 les fonctions anonymes et transmettre les paramètres aux fonctions anonymes

<?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 5Utilisez des fermetures pour modifier les valeurs des variables référencées 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

Entrée ci-dessus les résultats et constatez que les deux func() suivantes renvoient toutes deux 101 et que les valeurs n'ont 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 fonctions externes. variables). Modifié :

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

Astuce 6 Passer les fonctions anonymes en paramètres

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

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal