Regardez le code ci-dessous
function test() { $param2 = 'every'; // 返回一个匿名函数 return function ($param1) use ($param2) { // use子句 让匿名函数使用其作用域的变量 $param2 .= 'one'; print $param1 . ' ' . $param2; }; } $anonymous_func = test(); $anonymous_func('hello');
La sortie est bonjour tout le monde
$param1 et $param2 sont des variables de fermeture
La méthode suivante affiche bonjour à tous
function test() { $param2 = 'everyone'; $func = function ($param1) use ($param2) { // use子句 让匿名函数使用其父作用域的变量 print $param1 . ' ' . $param2; }; $param2 = 'everybody'; return $func; } $anonymous_func = test(); $anonymous_func('hello');
La méthode suivante affiche bonjour tout le monde
Il y a une autre référence dans $param2
function test() { $param2 = 'everyone'; $func = function ($param1) use (&$param2) { // use子句 让匿名函数使用其父作用域的变量 print $param1 . ' ' . $param2; }; $param2 = 'everybody'; return $func; } $anonymous_func = test(); $anonymous_func('hello');
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!