Как PHP интерпретирует и оценивает функцию и анонимную функцию при передаче в качестве аргумента?

Я опытный разработчик в 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. Я исследовал поисковые системы для того же самого, но не смог найти точного ответа, который мог бы правильно объяснить то же самое. Пожалуйста, помогите мне понять эти два случая.


person Chetan Ameta    schedule 20.11.2015    source источник
comment
Вы можете найти ответ здесь: stackoverflow.com/tour   -  person Amarnasan    schedule 20.11.2015
comment
@Amarnasan Мне очень жаль, я не могу понять. Разве это не правильный вопрос, который нужно задавать в stackoverflow? Будет приятно, если вы подскажете, как я могу получить ответ на этот вопрос?   -  person Chetan Ameta    schedule 20.11.2015
comment
Не знаю, где можно получить ответ на этот вопрос, но только не в Stackoverflow. Вы были участником в течение 3 лет, так что вам лучше знать.   -  person Amarnasan    schedule 20.11.2015