1 回答

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
1、加載失敗的處理方式不同
include與require除了在處理引入文件的方式不同外,最大的區(qū)別就是:
include在引入不存文件時(shí)產(chǎn)生一個(gè)警告且腳本還會(huì)繼續(xù)執(zhí)行,
require則會(huì)導(dǎo)致一個(gè)致命性錯(cuò)誤且腳本停止執(zhí)行。
<?phpinclude 'hello.php';echo 'world';?>
如果hello.php不存在,echo ‘world’這句是可以繼續(xù)執(zhí)行的。
<?php
require 'hello.php';
echo 'world';
?>
如果hello.php不存在,echo ‘hello’這句是不會(huì)執(zhí)行的,到require時(shí)就停止了。
2、include()是有條件包含函數(shù),而 require()則是無條件包含函數(shù)。
if(FALSE){include 'file.php'; //file.php不會(huì)被引入}if(FALSE){require 'file.php'; //file.php將會(huì)被引入}3、文件引用方式include有返回值,而require沒有 $retVal = include(’somefile.php’);if(!empty($retVal)){echo "文件包含成功"; }else{echo "文件包含失敗"; }
include()執(zhí)行時(shí)需要引用的文件每次都要進(jìn)行讀取和評(píng)估,
require()執(zhí)行時(shí)需要引用的文件只處理一次(實(shí)際上執(zhí)行時(shí)需要引用的文件內(nèi)容替換了require()語句)
可以看出若有包含這些指令之一的代碼和可能執(zhí)行多次的代碼,則使用require()效率比較高,
若每次執(zhí)行代碼時(shí)相讀取不同的文件或者有通過一組文件疊代的循環(huán),就使用include(),
require通常使用方法,這個(gè)函數(shù)通常放在 PHP 程序的最前面,PHP 程序在執(zhí)行前,就會(huì)先讀入 require 所指定引入的文件,使它變成 PHP 程序網(wǎng)頁的一部份。常用的函數(shù),亦可以這個(gè)方法將它引入網(wǎng)頁中。
include通常使用方法,這個(gè)函數(shù)一般是放在流程控制的處理部分中。PHP 程序網(wǎng)頁在讀到 include 的文件時(shí),才將它讀進(jìn)來。這種方式,可以把程序執(zhí)行時(shí)的流程簡單化
另外關(guān)于include和require后面是否加括號(hào)的問題,
理論上來說:include和require后面加不加括號(hào)對(duì)執(zhí)行結(jié)果沒有區(qū)別,但是加上括號(hào)效率較低,所以后面能不加括號(hào)就不加括號(hào)。
添加回答
舉報(bào)