create_function
Create an anonymous (lambda-style) function
anonymous
英 [ə'nɒnɪməs] 美 [ə'nɑnəməs] ə- nanə |m əs nanə(囊呢)
adj. 匿名的,无名的;无个性特征的
##语法
string create_function ( string $args , string $code )
Creates an anonymous function from the parameters passed, and returns a unique name for it.
##参数
args
The function arguments.
code
The function code.
#代码1
$newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');
echo "New anonymous function: $newfunc <br/>";
echo $newfunc(2, M_E) . "\n";
New anonymous function: lambda_5
ln(2) + ln(2.718281828459) = 1.6931471805599
注解:
- 函数返回唯一函数的名字,每次刷新都不一样
- 函数返回的名字赋值给了$newfunc,输出$newfunc相当于输出变量名
- 函数的调用使用赋值后的变量调用函数,相当于直接调用函数 4.参数为形式 必须为变量不可以为整数,
#代码2.使用匿名函数作为回调函数
$av = array("the ", "a ", "that ", "this ");
匿名函数只有两个参数
array_walk($av, create_function('&$v,$k', '$v = $v . "mango";'));
print_r($av);
array_walk() 函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数。
<?php
function myfunction(&$value,$key)
{
$value="yellow";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction");
print_r($a);
?>
注意:value为第一个参数
```