使用php怎么实现函数式编程

  介绍

这篇文章给大家介绍使用php怎么实现函数式编程,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

具体如下:

//,函数式编程   $ users =,阵列(   数组才能(& # 39;id # 39;,=祝辞,1,& # 39;名字# 39;,=祝辞,& # 39;他们# 39;,,& # 39;年龄# 39;,=祝辞,29日,& # 39;性别& # 39;,=祝辞,& # 39;男& # 39;),   数组才能(& # 39;id # 39;,=祝辞,2,& # 39;名字# 39;,=祝辞,& # 39;abc2& # 39;,, & # 39;年龄# 39;,=祝辞,21日,& # 39;性别& # 39;,=祝辞,& # 39;女& # 39;),   数组才能(& # 39;id # 39;,=祝辞,3,& # 39;名字# 39;,=祝辞,& # 39;abc3& # 39;,, & # 39;年龄# 39;,=祝辞,23日,& # 39;性别& # 39;,=祝辞,& # 39;男& # 39;),   数组才能(& # 39;id # 39;,=祝辞,4,& # 39;名字# 39;,=祝辞,& # 39;abc4& # 39;,, & # 39;年龄# 39;,=祝辞,25日,& # 39;性别& # 39;,=祝辞,& # 39;女& # 39;),   数组才能(& # 39;id # 39;,=祝辞,5日,& # 39;名字# 39;,=祝辞,& # 39;abc5& # 39;,, & # 39;年龄# 39;,=祝辞,20日,& # 39;性别& # 39;,=祝辞,& # 39;女& # 39;),   数组才能(& # 39;id # 39;,=祝辞,6日,& # 39;名字# 39;,=祝辞,& # 39;abc6& # 39;,, & # 39;年龄# 39;,=祝辞,24日,& # 39;性别& # 39;,=祝辞,& # 39;男& # 39;),   数组才能(& # 39;id # 39;,=祝辞,7日,& # 39;名字# 39;,=祝辞,& # 39;abc7& # 39;,, & # 39;年龄# 39;,=祝辞,28日,& # 39;性别& # 39;,=祝辞,& # 39;女& # 39;),   数组才能(& # 39;id # 39;,=祝辞,8日,& # 39;名字# 39;,=祝辞,& # 39;abc8& # 39;,, & # 39;年龄# 39;,=祝辞,27日,& # 39;性别& # 39;,=祝辞,& # 39;男& # 39;),   );//获取性别为女的用户   arrayFilter 美元;=,array_filter($用户,函数($ item) {   return 才能;$ item[& # 39;性别& # 39;],==,& # 39;女& # 39;,;   });//,不影响原数组,返回一个新数组   arrayMap 美元;=,到函数($ item) {   return 才能;阵列(   ,,,& # 39;id # 39;,=祝辞,美元项目[& # 39;id # 39;],   ,,,& # 39;名字# 39;,=祝辞,美元项目[& # 39;名字# 39;],   ,,,& # 39;年龄# 39;,=祝辞,美元项目[& # 39;年龄# 39;],   ,,,& # 39;性别# 39;,=祝辞,美元项目[& # 39;性别& # 39;],==,& # 39;男& # 39;,?,& # 39;男性# 39;,:,& # 39;女# 39;   ,,);   },,用户);//,修改原数组,对年龄+ 10处理,同时新增索引性别、返回值,1,或0   array_walk(用户、美元,函数(和项目,美元,美元指数){   美元才能项目[& # 39;性别# 39;],=,美元项目[& # 39;性别& # 39;],==,& # 39;男& # 39;,?,& # 39;男性# 39;,:,& # 39;女# 39;;   if 才能;(index 美元;%,2,==,0),{   ,,,$ item[& # 39;年龄# 39;],+=,10;   ,,}   });//的形式(array  input 美元;,,callable  function 美元;[initial 美元,=,NULL ]),用回调函数迭代地将数组简化为单一的值//,求最大年龄的用户,返回最大年龄用户信息   arrayReduce 美元;=,形式用户,美元,函数(init美元,,val) {   return 才能;$ init(& # 39;年龄# 39;],祝辞,val美元[& # 39;年龄# 39;],?,init 美元;:,val美元;   },,数组(& # 39;年龄# 39;,=祝辞,0));//,求平均年龄   avgAge 美元;=,形式用户,美元,函数(init美元,,项目美元){   return 才能;init 美元+,美元项目(& # 39;年龄# 39;);   },,0),/,count($用户);/*   ,* array_reduce 的内部实现方式   function 形式(数据,美元,美元的回调,,最初的美元),{   foreach 才能;(data 美元;as  index 美元;=祝辞,val美元),{   ,,,initial 美元;=,美元的回调(初始美元,,val);   ,,}   return 才能;初始美元;   }   *///用到和array_mutisort来排序,//利用到获取要依据排序的数组,(匿名函数,create_function (args美元,return  val美元))//arrField 美元;=,到(create_function(& # 39;项目# 39;美元,& # 39;return  $ item [“age"]; & # 39;),,用户)美元;,【不推荐】   arrField 美元;=,到函数($ item) {   return 才能;$ item[& # 39;年龄# 39;];   },,用户);//利用array_mutisort来进行年龄从大到小排的序   arrSort 美元;=,对(SORT_DESC, arrField美元,美元的用户), //闭包实现计数器   function 计数(),{   时间=美元才能a  1;//才能,闭包,引用变量一美元   return 才能;()函数,使用(和一个美元),{   ,,,return 美元+ +;   ,,};   }   $ countFunc =,计数();   echo  countFunc美元();//,1   echo  countFunc美元();//,2   echo  countFunc美元();//,3   echo  countFunc美元();,//,4

关于使用php怎么实现函数式编程就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

使用php怎么实现函数式编程