Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

exit, exit(), exit(0), die(), die(0) - How to exit script

Tags:

php

I believe that all of these (and even die() or die(0)) are identical. If they are not identical, which is preferred for exiting a script successfully? If they are identical, is there any preferred standard to indicate successful script completion? I tend to use exit;.

EDIT: All of the answers have "die() and exit() are identical" even though I say that in my question. I updated to the title to hopefully make it clearer that this is NOT my question. I want to clearly indicate success from a command line script.

like image 610
Explosion Pills Avatar asked Nov 07 '11 01:11

Explosion Pills


People also ask

How do I exit a PHP script?

The exit() function in PHP is an inbuilt function which is used to output a message and terminate the current script. The exit() function only terminates the execution of the script.

Should I use die or exit in PHP?

There is no difference between die and exit, they are the same. "This language construct is equivalent to die()." "This language construct is equivalent to exit()."

Which function is used to print a message and exit from current PHP script?

exit() function in PHP The exit() function prints a message and exits the current script.


1 Answers

These are all identical. I'm pretty sure die() is just a straight-up alias to exit(), but even if it isn't, it still acts identically.

When one of these functions is given a string argument, it prints out the string before terminating the process. When it encounters an integer under 255, that integer is considered the return code for the process, which gets passed back to the process which invoked the PHP script. This is particularly useful when writing command line applications (PHP isn't web-only!).

As far as the difference between exit, exit(), and exit(0), there really is none. There is definitely no difference between the first two because exit is technically a language construct, not a function, so it can be called with or without parentheses, just like echo. Returning a code of 0 means "this program ran successfully/without errors", and while I don't know what exactly happens when you don't pass an argument, PHP.net says that an argument-less exit indicates success, so I would bet it returns 0, though again PHP.net doesn't show a default for the argument.

like image 69
AgentConundrum Avatar answered Sep 29 '22 09:09

AgentConundrum