@xGreen_Max
Js

Не выводится строка в анонимной функции?

Должно выводится opa, но оно не выводится.
Я не могу понять почему?

function callBack($message){
return $message();
};
 
callBack(function(){
"opa";
});
 
echo callback();
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
Fockker
@Fockker Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Я там сначала написал в соседнем ответе, что вам ещё очень рано заниматься анонимными функциями, вы всё равно ничего не поймёте -сначала надо разобраться с более базовыми конструкциями языка. Но потом стёр, потому что это не позитивно.

Ну вот здесь мы видим последствия.
Вы не понимаете пока даже что такое обычная функция. что уж говорить об анонимных.
Функция, внутри которой просто написана строка не имеет смысла ни в каком виде - ни как анонимная, ни как обычная.

function callBack($function){
    return $function();
};
 
echo callBack(function(){
    return "opa";
});


Вот это будет работать, но я вам настоятельно рекомендую оставить пока анонимные функции в покое.

Причем я даже не понимаю, что вы имели в виду своим кодом.
Возможно, что-то такое
function useCallback($callback){
    return $callback;
};
$function = function () {
    return "opa";
};
echo useCallback($function)();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы