Home  >  Article  >  Backend Development  >  Detailed explanation of the difference between include and require in PHP_PHP Tutorial

Detailed explanation of the difference between include and require in PHP_PHP Tutorial

WBOY
WBOYOriginal
2016-07-13 10:25:56854browse

In PHP programming, include() and require() have the same function. include(include_once) and require(require_once) both read the included file code into the specified location, but the usage of the two is different. There are differences: (include() is a conditional inclusion function, while require() is an unconditional inclusion function)

1, different usage methods

(1) require is used like require( "requireFile.php"); . This function is usually placed at the front of the PHP program. Before the PHP program is executed, it will first read the file specified by require and make it a part of the PHP program web page. Commonly used functions can also be introduced into web pages in this way. The introduction is unconditional and occurs before the program is executed. It must be imported regardless of whether the condition is true (it may not be executed).
(2) The use method of include is include("includeFile.php");. This function is usually placed in the processing section of flow control. The PHP program web page reads the include file when it reads it. In this way, the process of program execution can be simplified. The introduction is conditional and occurs when the program is executed. It is imported only when the condition is true (which can simplify the code generated by compilation).

For example in the following example, if the variable $somgthing is true, the file somefile will be included:

Copy code The code is as follows:

if($something){
include("somefile");
}

But no matter what the value of $something is, the following code will include the file somefile into the file:
Copy code The code is as follows:

if($something){
require("somefile");
}

The following interesting example fully illustrates The difference between these two functions.
Copy code The code is as follows:

$i = 1;
while ($i < 3) {
require("somefile.$i");
$i++;
}

In this code, every time it loops, the program will included. Obviously this is not the programmer's original intention. From the code we can see that this code hopes to include different files in each loop. If you want to complete this function, you must turn to the function include():
Copy code The code is as follows:

$i = 1;
while ($i < 3) {
include("somefile.$i");
$i++;
}

2. How to report errors during execution Different

The difference between include and require: When include introduces a file, if it encounters an error, it will give a prompt and continue to run the code below. When require introduces a file, if it encounters an error, it will give prompt and stop running the code below. For example, the following example:


Write two php files named test1.php and test2.php. Note that there should not be a file named test3.php in the same directory.

test1.php

Copy code The code is as follows:

include ("test3. php");
echo "abc";
?>

test2.php
Copy code The code is as follows:

require ("test3.php")
echo "abc";
?>

Browse the first file. Because the test999.php file was not found, we saw the error message. At the same time, abc is displayed below the error message. What you see may be similar to the following:
Warning: include (test3.php) [function.include]: failed to open stream: No such file or directory in D:WebSitetest.php on line 2

Warning: include() [function.include]: Failed opening ' test3.php' for inclusion (include_path='.;C:php5pear') in D:WebSitetest.php on line 2
abc (the following is executed)

Browse the second file because The test3.php file was not found. We saw the error message, but abc was not displayed below the error message. What you saw may be something like the following:
Warning: require(test3.php) [function.require] : failed to open stream: No such file or directory in D:WebSitetest2.php on line 2

Fatal error: require() [function.require]: Failed opening required 'test3.php' (include_path=' .;C:php5pear') in D:WebSitetest.php on line 2

The following is not executed and ends directly
In short, what is called during include execution is a process behavior and conditional , and require is a preset behavior, unconditional.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/824897.htmlTechArticleIn PHP programming, include() and require() have the same functions, include(include_once) and require( require_once) both read the included file code into the specified location, but both...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn