php闭包

用个简单的例子开始,有下面个数组: 
$nums = array(10, 20, 30, 40);需要找出数组中大于 15 的项。那么,不考虑闭包的情况下,我们或许会这样写: 
$res = array();foreach ($nums as $n) { if ($n > 15) { $res[] = $n; }}

有闭包的支持

$res = array_filter($nums, function($v) { return $v > 15; });

目前看来感觉都还不错,那么我们再的题目增加点难度:找到所有大于 15 的项, 然后乘以 2 再加上作用域中的的某个变量值以后再返回。 

返璞归真,这时还是得返回老土的思路去解决问题: 

$x = 1;$res = array();foreach ($nums as $n) { if ($n > 15) { $res[] = $n * 2 + $x; }}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。