Difference between exit () and die () in PHP

Source: Internet
Author: User

First think about a question:

What will the following code display to the page?

The code is as follows: Copy code

<? Php

Die (123 );

?>

For a while, I always thought that the page would display 123, but the practice result tells me that the answer is wrong and the page is blank!

I don't know why. I don't want to output 123. To make the page output 123, I changed it to the following code:

The code is as follows: Copy code

<? Php

Echo '20140901 ';

Die ();

?>
 

 

A piece of information on the network:

Difference between exit () and die () in PHP

PHP Manual: die () Equivalent to exit ().

Note: Both die () and exit () stop the script execution function. In fact, the names exit and die point to the same function, and die () is the alias of the exit () function. This function only accepts one parameter. It can be a value or a string returned by a program, or it can be left blank. The result does not return a value.

Reference: Although the two are the same, they are also slightly selective. For example:

When the value passed to the exit and die functions is 0, it means that the execution of the script is terminated in advance. Usually exit () is used.

The code is as follows: Copy code

Echo & quot; 1111 & quot ";

Exit (0 );

Echo & quot; 2222 & quot ";

// 22222 is not output because the script has been terminated before the exit (0) is run, and the script is "disconnected immediately ".
When a program encounters an error, you can pass it a string, which is output on the system terminal as is. The name of die () is usually used.

 

The code is as follows: Copy code
$ Fp = fopen ("./readme.txt", "r") or die ("cannot open this file ");

2 // in this case, if the fopen function is called and returns a boolean value of false, die () will terminate the script immediately and print it immediately.

3 // The string passed to it. "You can say one or two more words before you die ".
 


--------------------------------------------------------------------------------

 

Back to the previous topic, why does the following code not output 123 to the page?

 

The code is as follows: Copy code

<? Php

Die (123 );

// Or exit (123 );

?>

Summary:

1. In terms of function, die () is equivalent to exit ();

2. PHP can run in multiple ways, either in the form of a website or a script (no Web server is required ).

When PHP is run as a script, we recommend that you use exit ():

For example, the Bash Shell script language uses the exit () function to terminate the script when it is about to stop running, and allows the output of vertex content to the running environment (usually stored in a global variable), but the output content can only be numbers, indicating the "command end Status ".

 

That is to say, exit (123) only outputs a running state of 123, rather than outputting 123 to the console. To output 123 to the console, the code must be changed to the following format:

The code is as follows: Copy code


<? Php

Exit ('20140901 ');
?>

 

When PHP runs as a website, we recommend using die ():

However, die (number) is meaningless because it does not output a digital string to the page. That is to say, if you want to terminate the page and output a number, you have to change it to the following format:

The code is as follows: Copy code

<? Php

Die ('000000 ');

?>

Related Article

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.