首页 > 语言 > PHP > 正文

PHP匿名函数和use子句用法实例

2024-09-04 11:49:35
字体:大 中 小
来源:转载
供稿:网友

本文实例讲述了PHP匿名函数和use子句用法。分享给大家供大家参考,具体如下:

下面方法输出的是hello world

$param1和$param2是闭包变量:

  1. function test() 
  2.  
  3. { 
  4.  
  5.   $param2 = 'every'; 
  6.  
  7.   // 返回一个匿名函数 
  8.  
  9.   return function ($param1) use ($param2) { 
  10.  
  11.     // use子句 让匿名函数使用其作用域的变量 
  12.  
  13.     $param2 .= 'one'; 
  14.  
  15.     print $param1 . ' ' . $param2; 
  16. //Vevb.com 
  17.   }; 
  18.  
  19. } 
  20.  
  21. $anonymous_func = test(); 
  22.  
  23. $anonymous_func('hello'); 

下面的方式 输出hello everyone:

  1. function test() 
  2.  
  3. { 
  4.  
  5.   $param2 = 'everyone'; 
  6.  
  7.   $func = function ($param1) use ($param2) { 
  8.  
  9.     // use子句 让匿名函数使用其父作用域的变量 
  10.  
  11.     print $param1 . ' ' . $param2; 
  12.  
  13.   }; 
  14.  
  15.   $param2 = 'everybody'; 
  16.  
  17.   return $func; 
  18.  
  19. } 
  20.  
  21. $anonymous_func = test(); 
  22.  
  23. $anonymous_func('hello'); 

下面的方式 输出hello everybody

$param2中多了一个引用:

  1. function test() 
  2.  
  3. { 
  4.  
  5.   $param2 = 'everyone'; 
  6.  
  7.   $func = function ($param1) use (&$param2) { 
  8.  
  9.     // use子句 让匿名函数使用其父作用域的变量 
  10.  
  11.     print $param1 . ' ' . $param2; 
  12.  
  13.   }; 
  14.  
  15.   $param2 = 'everybody'; 
  16.  
  17.   return $func; 
  18.  
  19. } 
  20.  
  21. $anonymous_func = test(); 
  22.  
  23. $anonymous_func('hello'); 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表