PHP 闭包
首先看看闭包是什么样子的先
$a = function ($b,$c,$d){ return $b; }; echo $a(666);
以上就是一个闭包,我们可以理解为,给$a赋值一个方法,那么$a就成了那个方法,它是一个独立的存在,想要调用外面的数据就只能通过方法传递过去
并且闭包还有个特点就是他可以保留住执行数据,不会被传递过来的值覆盖,如下
$res = 1; //use为连接外部变量的一个函数,如果想要保存里面的执行数据,不被外部变量覆盖的话加 & 即可 //以下结果为123,去掉&结果为111 $a = function() use ( &$res ) { echo $res; //把$rmb的值加1 $res++; }; $a(); $a(); $a();
array_map使用闭包遍历数据
<?php header("Content-Type: text/html;charset=utf-8"); $nubmers = array_map(function($number){return $number++;},[1,2,3]); var_dump($nubmers);