Reputation: 33138
function updateParameters($landing)
{
$addValue = function ($final,$parametername,$value)
{
$value1=str_replace ( '{landing}' , $landing ,$value );
$_GET[$parametername]=$value1;
return "";
};
doSomethingWith20Params($addValue, "") ;
}
Basically, $addValue
is a function. The parameter number cannot be changed. That's because doSomethingWith20Params ($addValue, "");
requires a function with 3 parameters.
In PHP I got
5 446.6299 486504 doSomethingWith20Params( ???, ???, ??? ) ...\cutoolsgeneral.php:204
6 552.2776 487112 {closure:H:\business\shared\Dropbox\htdocs\tools2\cutoolsgeneral.php:197-202}( ???, ???, ??? ) ...\cutoolsgeneral.php:188
Upvotes: 3
Views: 44
Reputation: 15639
Just use the use
keyword, to bind vars to your closure
function updateParameters($landing)
{
$addValue = function ($final,$parametername,$value) use ($landing)
{
$value1=str_replace ( '{landing}' , $landing ,$value );
$_GET[$parametername]=$value1;
return "";
};
doSomethingWith20Params($addValue, "") ;
}
Upvotes: 4