欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php闭包实验

程序员文章站 2022-05-17 15:11:30
...
class IArray extends ArrayObject  
{      
static function make($array)      
{          
return new self($array);      
}
function map($func)      
{          
$res = new self();
foreach ($this as $k => $v)   
{   
$res[$k] = $func($k, $v);          
}
return $res;      
}
function filter($func)      
{          
$res = new self();
foreach ($this as $k => $v)   
{              
if ($func($k, $v))   
{                  
$res[$k] = $v;             
}      
}
return $res;      
}
}
$nums = array(10,20,30,40);
$res = IArray::make($nums)->filter(function($k, $v) { return $v > 15; })->map(function($k, $v) { return $v * 2; });
print_r($res);
相关标签: PHP php闭包实验