Skip to content

Instantly share code, notes, and snippets.

@alandipert
Forked from anonymous/functional.php
Created August 1, 2009 11:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alandipert/159640 to your computer and use it in GitHub Desktop.
Save alandipert/159640 to your computer and use it in GitHub Desktop.
<?php
function lambda() {
if(func_num_args() > 1) {
$func = func_get_arg(1);
if($func[strlen($func)-1] != ';')
$func = $func.';';
return create_function(func_get_arg(0), 'return '.$func);
} else {
$func = func_get_arg(0);
if($func[strlen($func)-1] != ';')
$func = $func.';';
return create_function('', 'return '.$func);
}
}
function map($param,$func,$arg) {
return array_map(lambda($param, $func),$arg);
}
//'each' is taken by some dumb function
function every($func,$arg) {
$array = array();
foreach($arg as $a) {
$array[] = $a;
call_user_func($func,$a);
}
return $array;
}
function select($expr,$arg) {
return array_filter(
$arg,
lambda('$_', $expr)
);
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment