首頁 php教程 php手册 require(),include(),require_once()和include_once()之间的区别

require(),include(),require_once()和include_once()之间的区别

Jun 13, 2016 am 10:48 AM
include once require 差別 引用 文件 方法

引用文件的方法有两种:require 及 include。
require 的使用方法如 require("file.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。
include 使用方法如 include("file.php"); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。
_once 后缀表示已加载的不加载
1.报错
include引入文件的时候,如果碰到错误,会给出提示,并继续运行下边的代码
require引入文件的时候,如果碰到错误,会给出提示,并停止运行下边的代码
注:在 PHP 4.3.5 之前,包含文件中的语法错误不会导致程序停止,但从此版本之后会。
2.条件引用

include()与require()的功能相同,用法上却有一些不同,include()是有条件包含函数,而require()则是无条件包含函数,
例如下面例子,如果变量$somg为真,则将包含文件somefile.php:
if($some){

  include 'somefile.php';
}
但无论$some取何值,下面的代码将把文件somefile.php包含进文件里:
if($something){
  require 'somefile.php';
}
下面的例子充分说明了这两个函数之间的不同
$i = 1;
while ($i   require "somefile.$i.php";
  $i++;
}
可以从以上这段代码中看出,每一次循环的时候,程序都将把同一个文件包含进去,很显然这不我们想要的,可以看出这段代码希望在每次循环时,
将不同的文件包含进来,如果要完成这个功能,只能使用函数include()
$i = 1;
while ($i   include "somefile.$i.php";
  $i++;
}
3.require用相对路径的时候
当A引用B,而B又引用了其他文件C时,C的路径如果是相对路径,则是相对于A的路径,而不是相对于B的'
4.require_once() 语句在脚本执行期间包括并运行指定文件。此行为和 require() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。
include_once() 语句在脚本执行期间包括并运行指定文件。此行为和 include() 语句类似,唯一区别是如果该文件中的代码已经被包括了,则不会再次包括。如同此语句名字暗示的那样,只会包括一次。

5..文件引用方式
include有返回值,而require没有
$login = include(’test.php’);
if(!empty($login)){
  echo “文件包含成功”;
}else{
  echo “文件包含失败”;
}
include()执行时需要引用的文件每次都要进行读取和评估,
require()执行时需要引用的文件只处理一次(实际上执行时需要引用的文件内容替换了require()语句)
可以看出若有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高,
若每次执行代码时相读取不同的文件或者有通过一组文件叠代的循环,就使用include(),
可以给想要包括的文件名设置变量,当参数为 include()时使用这个变量

 
摘自 〃Style ひぐ

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

比特幣有沒有股票?比特幣有股權嗎? 比特幣有沒有股票?比特幣有股權嗎? Mar 03, 2025 pm 06:42 PM

比特幣有沒有股票?比特幣有股權嗎?

deepseek r1版本和v3版本有什麼區別 deepseek r1版本和v3版本有什麼區別 Feb 19, 2025 pm 03:24 PM

deepseek r1版本和v3版本有什麼區別

DeepSeek使用常見問題匯總 DeepSeek使用常見問題匯總 Feb 19, 2025 pm 03:45 PM

DeepSeek使用常見問題匯總

盤前盤後交易有什麼區別?盤前盤後交易區別詳解 盤前盤後交易有什麼區別?盤前盤後交易區別詳解 Mar 03, 2025 pm 11:54 PM

盤前盤後交易有什麼區別?盤前盤後交易區別詳解

為什麼說Bittensor是AI賽道的'比特幣”? 為什麼說Bittensor是AI賽道的'比特幣”? Mar 04, 2025 pm 04:06 PM

為什麼說Bittensor是AI賽道的'比特幣”?

韓國比特幣和國內比特幣有什麼不同嗎? 韓國比特幣和國內比特幣有什麼不同嗎? Mar 05, 2025 pm 06:51 PM

韓國比特幣和國內比特幣有什麼不同嗎?

佩佩大舉買入並拋售,MUTM 是 2025 年更明智的投資嗎? 佩佩大舉買入並拋售,MUTM 是 2025 年更明智的投資嗎? Mar 03, 2025 pm 07:09 PM

佩佩大舉買入並拋售,MUTM 是 2025 年更明智的投資嗎?

垂直代理:加密原生代理的應用場景和顛覆性潛力解讀 垂直代理:加密原生代理的應用場景和顛覆性潛力解讀 Mar 04, 2025 am 10:21 AM

垂直代理:加密原生代理的應用場景和顛覆性潛力解讀

See all articles