您正在使用IPV4(35.168.110.128)访问本站 您本次共访问本站 1 次
 用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
[公益]文明驾车我带头,文明行路我带头,礼貌让座我带头      

【腾讯云】多款云产品1折起,买云服务器送免费机器,最长免费续3个月      
[公益] 节省一分零钱 献出一份爱心 温暖世间真情      
2022年 中秋节 21
2022年 国庆节 42
2023年 元 旦 134
2023年 春 节 155
 
本类新增
本类热门文章
您现在的位置:首页 >> PHP >> 内容
PHP中箭头函数的实例详解
内容摘要: 称为箭头函数的短闭包是PHP7.4版本将带来的期待已久的功能之一。它是由NikitaPopov、LeviMorrison和BobWeinand提出的,你可以在此处阅读原RFC摘自DoctrineDBAL的快速示例//老办法$this-existingSchemaPaths=array_filter($paths,function($v)use($names)......
称为箭头函数的短闭包是PHP7.4版本将带来的期待已久的功能之一。它是由NikitaPopov、LeviMorrison和BobWeinand提出的,你可以在此处阅读原RFC

摘自DoctrineDBAL的快速示例

//老办法

$this->existingSchemaPaths=array_filter($paths,function($v)use($names){

returnin_array($v,$names);

});

//使用箭头函数的新方法

$this->existingSchemaPaths=array_filter($paths,fn($v)=>in_array($v,$names));

让我们来看看规则吧

fn是关键字,而不是保留的函数名称。

它只能有一个表达式,那就是return语句。

不需要使用rereturn和use关键字。

$this变量,作用域和LSB作用域自动绑定。

你可以键入提示参数和返回类型。

你甚至可以使用引用&和展开操作符...

几个例子

//作用域示例

$discount=5;

$items=array_map(fn($item)=>$item-$discount,$items);

//类型提示

$users=array_map(fn(User$user):int=>$user->id,$users);

//展开操作符

functioncomplement(callable$f){

returnfn(...$args)=>!$f(...$args);

}

//嵌套

$z=1;

$fn=fn($x)=>fn($y)=>$x*$y+$z;

//有效的函数签名

fn(array$x)=>$x;

fn():int=>$x;

fn($x=42)=>$x;

fn(&$x)=>$x;

fn&($x)=>$x;

fn($x,...$rest)=>$rest;

未来范围

多行箭头函数

允许对类内的函数使用箭头函数。

//现今

classTest{

publicfunctionmethod(){

$fn=fn()=>var_dump($this);

$fn();//object(Test)#1{...}

$fn=staticfn()=>var_dump($this);

$fn();//Error:Using$thiswhennotinobjectcontext

}

}

//也许在未来的某一天

classTest{

private$foo;

private$bar;

fngetFoo()=>$this->foo;

fngetBar()=>$this->bar;

}

我最喜欢的要点

回调可以更短

不需要use关键字便问变量。

上一篇:PHP方法处理微信昵称特殊符号过滤 下一篇:PHP让人不知道的匿名函数的几种写法
发布日期:2022/7/13
手机扫二维码直达本页
发布时间:14:47:34
点击:97
录入:壹家怡园
相关文章
Baidu

YiJiaCMS 6.3.1.220701(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,百度云加速提供加速防护
Copyright©2000-2022