加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

[PHP] PHP闭包(closures)

发布时间:2020-05-25 03:08:15 所属栏目:PHP 来源:互联网
导读:1.闭包函数也叫匿名函数,一个没有指定名称的函数,一般会用在回调部分2.闭包作为回调的基本使用,echo preg_replace_callback(~-([a-z])~, function ($match) {return strtoupper($match[1]);}, hello-world);第三个参数是要匹配的目标字符串,第二个参数是

<div class="cnblogs_code">

1.2. ('~-([a-z])~', ( ([1,'hello-world'第三个参数是要匹配的目标字符串,第二个参数是一个匿名函数,当preg_replace_callback执行的时候,会回调匿名函数,并且把匹配到的结果,作为匿名函数的参数传递进去

3.<span style="color: #000000">闭包函数变量赋值的使用
<span style="color: #800080">$greet = <span style="color: #0000ff">function(<span style="color: #800080">$name<span style="color: #000000">)
{
<span style="color: #008080">printf("Hello %srn",<span style="color: #800080">$name<span style="color: #000000">);
};
<span style="color: #800080">$greet('World'<span style="color: #000000">);
闭包函数赋值给了一个变量,这个变量直接跟()小括号就是执行这个函数,小括号里面的参数会传递到闭包函数里面去

4.<span style="color: #000000">闭包函数从父作用域继承变量的使用
<span style="color: #800080">$message = 'hello'<span style="color: #000000">;
<span style="color: #800080">$example = <span style="color: #0000ff">function () <span style="color: #0000ff">use (<span style="color: #800080">$message<span style="color: #000000">) {
<span style="color: #008080">var_dump(<span style="color: #800080">$message<span style="color: #000000">);
};
<span style="color: #800080">$example<span style="color: #000000">();
使用use关键字把函数外面的父作用域的变量传递到了函数里面

5.闭包函数变量赋值+()执行函数传递参数+<span style="color: #0000ff">use<span style="color: #000000">()关键字传递父作用域变量
<span style="color: #800080">$message="taoshihan"<span style="color: #000000">;
<span style="color: #800080">$example = <span style="color: #0000ff">function (<span style="color: #800080">$arg) <span style="color: #0000ff">use (<span style="color: #800080">$message<span style="color: #000000">) {
<span style="color: #008080">var_dump(<span style="color: #800080">$arg . ' ' . <span style="color: #800080">$message<span style="color: #000000">);
};
<span style="color: #800080">$example("hello"); <span style="color: #008000">//<span style="color: #008000">输出string(15) "hello taoshihan"

(编辑:安卓应用网)

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

    推荐文章
      热点阅读