PHP - способы объявления функции

142
28 ноября 2020, 14:00

В PHP всегда объявлял функции вот так:

function name(n1,n2,...){
    ...
}

сейчас в одной из библиотек нашел вот такой способ:

$name = function(n1,n2,...){
            ...
        }

Есть ли какая-то особая разница между этими способами?

Я заметил только разницу в вызовах: name(...) и $name(...)

Answer 1

Так как ответ в комментах, и вопрос, по-факту, остался открыт, перенесу комментарии в ответ:

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

@Mike

Анонимные функции включают много различных аспектов, начиная с того, что представляются классом, и далее нюансы с захватом родительских переменных, статических вызовов, всяких удобств типа определения там где надо (а-ля определение в месте ее передачи как callback метода) и т.д. и т.п.

@teran

READ ALSO
Реализовать связанный select опций

Реализовать связанный select опций

На входе имеется строка типа:

126
laravel controller синтаксис ,

laravel controller синтаксис ,

как правильно написать что при каждом цикле получить последовательную цифру типа

121
Как создать генератор токена из данных по определённому шаблону

Как создать генератор токена из данных по определённому шаблону

Есть входные данные типа логин, пароль и тд

127