Maison  >  Article  >  développement back-end  >  php闭包实验

php闭包实验

巴扎黑
巴扎黑original
2016-12-01 11:00:47995parcourir

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);

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn