请参阅下面的代码。
$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? 第二次不同的输出。
答案 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