Jump to content
  • 0

Когда используется echo " "; exit (" "); return exit (" ");?


koly32
 Share

Question

Здравствуйте. Подскажите пожалуйста когда нужно использовать return exit (" "); а когда просто exit (" "); ?? Результат на мой взгляд один и тот же - "Исполнение условия доходит до exit и выходит т.е. выполнение скрипта прекращается". Если использовать вместо return exit (" "); и exit (" "); оператор echo " "; то выполнение программы продолжается далее это я понял. Подскажите новичку по php) где уместно использовать return exit (" "); exit (" "); echo " ";?

<?php

$a = 1;

$b = 2;

$c = 3;

if ($b > $a) {

echo "Переменная b больше переменной a!!!";

} else {

echo "Переменная b меньше или равна меременной a!!!";

}

if ($b > $a) {

return exit("Переменная b больше переменной a!!!");

} else {

echo "Переменная b меньше или равна меременной a!!!";

}

if ($b > $a) {

exit("Переменная b больше переменной a!!!");

} else {

echo "Переменная b меньше или равна меременной a!!!";

}

?>

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Тут исчерпывающее объяснение — http://php.net/manual/ru/function.return.php

Я прочитал спасибо за источник. Но так и не понял когда нужно использовать return exit (" "); а когда просто exit (" "); В обоих случаях прекращается выполнение скрипта.

Я сам только учу PHP, но как я понял return возвращает результат функции, т.е. когда функция возвращает exit то работа скрипта прекращается, если не прав поправьте.

Я тоже понимаю что return возвращает результат функции но видимо не до конца)) По проще бы кто-нибудь объяснил когда надо return exit (" "); а когда просто exit (" ") ведь в обоих случаях происходит прекращение скрипта. Вот в чем дело. Edited by koly32
Link to comment
Share on other sites

  • 0
return exit (" "); а когда просто exit (" ")

Никогда не пользовать конструкцию return exit (" "); это абсурд. Даже если написать это внутри функции/метода в вызывающий блок ничего не будет возвращено: void exit ([ string $status ] ) -  exit ничего не возвращает, а просто отрубает выполнение с выводом строки в выходной поток. Вот посмотрите пример:

<?php function function_name() {	return exit ("fds");}$sd = function_name();echo 'что будет в итоге', $sd

exit пользуй исключительно для завершения работы всего скрипта.

Edited by CoDy
Link to comment
Share on other sites

  • 0

Тут исчерпывающее объяснение — http://php.net/manual/ru/function.return.php

Я прочитал спасибо за источник. Но так и не понял когда нужно использовать return exit (" "); а когда просто exit (" "); В обоих случаях прекращается выполнение скрипта.

Только в написании своих функций, чтобы выводить результат работы функции.

Извините меня конечно, но можно по пальцам мне объяснить так сказать) Если использовать echo " "; то выводится сообщение и происходит выполнение последующего скрипта так сказать. А вот какая разница между return exit (" "); и exit (" "); ни пойму.
Link to comment
Share on other sites

  • 0

return и exit при использовании вне функции в любом случае остановят выполнение скрипта. Нет смысла писать их вместе.

Разница есть, только если вы используете эти конструкции в файле, подключенном через include() или require(). В этом случае exit() остановит работу всего скрипта, в то время, как return остановит только подключённый скрипт и не повлияет на работу вызывающего.

Edited by hypnocolor
  • Like 1
Link to comment
Share on other sites

  • 0

exit пользуй исключительно для завершения работы всего скрипта.

Понятно вроде более менее спасибо. Буду думать)

return и exit при использовании вне функции в любом случае остановят выполнение скрипта. Нет смысла писать их вместе. Разница есть, только если вы используете эти конструкции в файле, подключенном через include() или require(). В этом случае exit() остановит работу всего скрипта, в то время, как return остановит только подключённый скрипт и не повлияет на работу вызывающего.

Спасибо. Буду экспериментировать с подключением через include() или require(). Чтобы как говориться разобраться и забыть)
Link to comment
Share on other sites

  • 0

return exit (" "); а когда просто exit (" ")

Никогда не пользовать конструкцию return exit (" "); это абсурд. Даже если написать это внутри функции/метода в вызывающий блок ничего не будет возвращено: void exit ([ string $status ] ) -  exit ничего не возвращает, а просто отрубает выполнение с выводом строки в выходной поток. Вот посмотрите пример:

<?php function function_name() {	return exit ("fds");}$sd = function_name();echo 'что будет в итоге', $sd
exit пользуй исключительно для завершения работы всего скрипта.
По Вашему объяснению понял что вместе использовать return exit (" "); - Это в принципе не правильно!! А вот просто exit (" "); понятно и логично) "Завершение работы скрипта с выводом сообщения" Получается в моем примере выше верно будет следующее:

<?php

$a = 1;

$b = 2;

$c = 3;

if ($b > $a) {

exit("Переменная b больше переменной a!!!");

} else {

echo "Переменная b меньше или равна переменной a!!!";

}

?>

eturn и exit при использовании вне функции в любом случае остановят выполнение скрипта. Нет смысла писать их вместе. Разница есть, только если вы используете эти конструкции в файле, подключенном через include() или require(). В этом случае exit() остановит работу всего скрипта, в то время, как return остановит только подключённый скрипт и не повлияет на работу вызывающего.

Я поэкспериментировал, но вот разницы между тем подключаю ( через include() или require() ) скрипт или скрипт прописан в основном файле,так сказать не заметил(( Наверно делаю что-то не так. Edited by koly32
Link to comment
Share on other sites

  • 0

а как экспериментировали с include() или require() в каком коде?

выше вам давали ссылку, там есть пример иллюстрирующий данное действие

http://php.net/manual/ru/function.return.php#83663

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy