функция лямбда-стиля в php - PullRequest
0 голосов
/ 29 декабря 2010

См. Код ниже.

 $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

Может кто-нибудь сказать, как получается вывод lambda_1 при печати $ newfunc? и другой вывод во второй раз.

DEMO

1 Ответ

3 голосов
/ 29 декабря 2010

Просто анонимные функции имеют внутренние имена lambda_1, lambda_2 и т. Д. Таким образом, вы первый эхо-оператор дает «Новая анонимная функция: lambda_1»

Сама функция возвращает строку, поэтому второй оператор echo (echo $newfunc(2, M_E) . "\n"; ) дает ln(2) + ln(2.718281828459) = 1.6931471805599

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...