Я опытный разработчик в PHP, я уже знаю, что такое функция и что такое анонимная функция. Я также знаю, для чего нужны анонимные функции и функции в PHP или других языках. Я также знаю разницу между функциями и анонимными функциями.
Определение любой анонимной функции доступно по адресу: http://php.net/manual/en/functions.anonymous.php
Здесь я получил примеры использования анонимной функции: Почему и как вы используете анонимные функции в PHP?
Но у меня вопрос: как PHP интерпретирует/оценивает функции как аргументы?
Рассмотрим пример ниже:
<?php
function callFunction($function)
{
$function();
}
//normal function
function test()
{
echo "here";
}
//anonymous function
$function = function () {
echo 'here';
};
//call normal function test
callFunction('test');
//call anonymous function $function
callFunction($function);
В приведенном выше примере обе функции производят одинаковый результат.
Но я хочу знать, как PHP выполняет/интерпретирует/оценивает обе функции в методе callFunction
. Я исследовал поисковые системы для того же самого, но не смог найти точного ответа, который мог бы правильно объяснить то же самое. Пожалуйста, помогите мне понять эти два случая.