站长网 PHP教程 PHP匿名函数中的闭包函数

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。

本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/jc/php/2021/0525/6470.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部