微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

include和require的区别

首先include和require都是引入指定的文件。_once表示只引入一次,已经引入过一次的文件接下来就不会再引入。

例如在【index.PHP】中

<?PHP

echo '最爱PHP';

?>

运行下面的程序代码

<?PHP
include 'index.PHP';
require 'index.PHP';
include_once 'index.PHP';
require_once 'index.PHP';
?>

输出的结果会是:最爱PHP最爱PHP,如果将_once引入的语句放在include和require上面,结果将是:最爱PHP最爱PHP最爱PHP最爱PHP

 

1、加载失败的处理方式不同

include与require除了在处理引入文件的方式不同外,最大的区别就是:
include在引入不存文件时产生一个警告且脚本还会继续执行,
require则会导致一个致命性错误且脚本停止执行。

<?PHP
include 'hello.PHP';
echo 'world';
?>

如果hello.PHP不存在,echo ‘world’这句是可以继续执行的。

 <?PHP
 require 'hello.PHP';
 echo 'world';
 ?>

如果hello.PHP不存在,echo ‘hello’这句是不会执行的,到require时就停止了。

 

2、include()是有条件包含函数,而 require()则是无条件包含函数

<?PHP   
if(FALSE){ include 'file.PHP'; //file.PHP不会被引入 } if(FALSE){ require 'file.PHP'; //file.PHP将会被引入 }
?>

3、文件引用方式

  • include有返回值,而require没有
    <?PHP
        $retVal = include(’somefile.PHP’);
        if(!empty($retVal)){
        echo "文件包含成功";
        }else{
        echo "文件包含失败";
        }
    ?>

     

include()执行时需要引用的文件每次都要进行读取和评估,
require()执行时需要引用的文件只处理一次(实际上执行时需要引用的文件内容替换了require()语句)

可以看出若有包含这些指令之一的代码和可能执行多次的代码,则使用require()效率比较高,
若每次执行代码时相读取不同的文件或者有通过一组文件叠代的循环,就使用include(),

require通常使用方法,这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。

include通常使用方法,这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化

另外关于include和require后面是否加括号的问题,

理论上来说:include和require后面加不加括号对执行结果没有区别,但是加上括号效率较低,所以后面能不加括号就不加括号。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐