加入收藏 | 设为首页 | 会员中心 | 我要投稿 海洋资讯信息网 (https://www.dahaijun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP匿名函数中的 闭包函数

发布时间:2023-02-08 12:43:08 所属栏目:PHP教程 来源:
导读:  创建匿名函数 创建匿名函数很简单,其语法结构如下所示:
  function (参数列表) {
   ...
  }

  可以看出,匿名函数与普通函数非常类似,同样可以接受参数,并且可以有返回值,只是匿名函数

  创建匿名函数 创建匿名函数很简单,其语法结构如下所示:
  function (参数列表) {
      ...
  }
 
  可以看出,匿名函数与普通函数非常类似,同样可以接受参数,并且可以有返回值,只是匿名函数在声明时会省略函数名。
 
  【示例】下面通过一个简单的示例来演示一下如何创建匿名函数,代码如下所示:
  <?php
 
  $url = function (){
 
  return '';
 
  };
 
  
 
  echo $url();
 
  ?>
 
  运行结果如下:
  通过上面的示例可以看出,匿名函数可以作为变量的值来使用。此时 PHP 会自动把此种表达式转换成内置类 Closure 的对象实例。把一个 closure 对象赋值给一个变量的方式与普通变量赋值的语法是一样的,最后也要加上分号;。 实际开发中,我们通常将匿名函数当做函数或方法的回调使用,在很多 PHP 内置函数中都会用到匿名函数,比如 array_map 和 preg_replace_callback,示例代码如下:
  <?php
 
  $arr = [1,2,3,4,5,6];
 
  $result = array_map(function ($num) {
 
  return $num*$num;
 
  }, $arr);
 
  
 
  echo '<pre>';
 
  print_r($result);
 
  ?>
 
  运行结果如下:
  Array (     [0] => 1     [1] => 4     [2] => 9     [3] => 16     [4] => 25     [5] => 36 )
 
  use 关键字 使用 use 关键字,闭包函数可以实现从父级作用域中继承变量,但是从 php7.1 开始,不支持继承预定义变量和 $this。
 

(编辑:海洋资讯信息网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!