Вызовы функции в PHP
Primary tabs
Чем отличается вызов через echo:
function a () { echo "4"; } echo a();
От вызова функции непосредственно:
function a () { echo "4"; } a();
- Log in to post comments
- 3186 reads
Чем отличается вызов через echo:
function a () { echo "4"; } echo a();
От вызова функции непосредственно:
function a () { echo "4"; } a();
fgh
Thu, 09/17/2020 - 13:42
Permalink
Оба варианта выводят цифру.
Оба варианта выводят цифру.
vedro-compota
Thu, 09/17/2020 - 13:52
Permalink
Оба варианта выводят цифру.
вывод не отличается, так как обе функции возвращают, судя по всему, null, который при выводится как "пустая сторка" (в первом случае). При этом обе они печатают 4-ку идентичным образом.
_____________
матфак вгу и остальная классика =)
melisa
Thu, 09/17/2020 - 13:55
Permalink
первый вариант избыточный
Формулировка "вызов через echo" не совсем корректная, и она запутывает. Вызов функции в любом происходит сам по себе при обращении к функции. А вот, что потом будет с результатом, определяется кодом снаружи. Т.е.:
Здесь второй вызов echo() печатает результат выполнения функции a
А здесь просто вызывается. Но т.к. сама функция печатает значение, то разницы на экране Вы не заметите
Фактически результат в данном случае будет одинаковый, но первый вариант кода избыточный.
На практике обычно требуется, чтобы функция именно возвращала значение (для этого используйте return). Это плохая практика, когда функция имеет побочный эффект. А если Вам нужно вывести значение на экран, это лучше сделать в коде "снаружи":
или поручить другой функции, которая только печатает данные:
fgh
Thu, 09/17/2020 - 15:49
Permalink
Можно вынести ясность, что
Можно вынести ясность, что такое,
1) "Колбеки", на примере (функции обратного вызова)
2) что такое "Точка возрата функции" или как то так? Или после выполнения return выполняется следующая часть кода под функцией?
3) Куда в какую "ячейку памяти" или записывается значение возвращаемое функцией с помощью слова "return"?
4) Использование вложенных функций это пример избыточности?
Так как функция, strtoupper($c) сама по себе может изменить регистр