php中的lambda风格函数

时间:2010-12-29 11:22:14

标签: php lambda

请参阅下面的代码。

 $newfunc = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');
 echo "New anonymous function: $newfunc\n";
 echo $newfunc(2, M_E) . "\n";

 // outputs
 // New anonymous function: lambda_1
 // ln(2) + ln(2.718281828459) = 1.6931471805599

任何人都可以告诉你在打印$ newfunc时如何输出lambda_1? 第二次不同的输出。

DEMO

1 个答案:

答案 0 :(得分:3)

它只是匿名函数在内部命名为lambda_1,lambda_2等。 所以你第一个echo语句给出了“New anonymous function:lambda_1”

函数本身返回一个字符串,因此第二个echo语句(echo $newfunc(2, M_E) . "\n"; )给出ln(2) + ln(2.718281828459) = 1.6931471805599