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 = '乔峰'; $anonymousFunc = function() use($username){ echo $username; }; $anonymousFunc();//此处调用了匿名函数 } closureFunc();//输出: 乔峰
Astuce 3 Renvoyer une fonction anonyme dans une fonction normale
<?php function closureFunc(){ $username = '乔峰'; $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 = '乔峰'; $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
<?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
Passer des fonctions anonymes en paramètres
Tutoriels associés :<?php //定义普通函数,anonymousFunc 为参数变量 function myFunc($anonymousFunc){ $anonymousFunc("乔峰"); } myFunc(function($username){ //这里调用普通函数,并把 匿名函数作为参数 传给了myFunc中的$anonymousFunc echo $username; });//输出 乔峰
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!