Home >Backend Development >PHP Tutorial >关于PHP中require/include的问题

关于PHP中require/include的问题

WBOY
WBOYOriginal
2016-06-06 20:12:211079browse

关于requireinclude关键词,我印象中大致的区别就是,前者是伪编译时进行的无条件插入,而后者是运行时解释执行的。
问题如下:
1、如果待引入的文件是运行时确定的,比如require $file;include $file,那么此时两者的行为有什么区别?
2、我是把这两个关键词当作C语言中的#include看待的,但是实际运用过程中,比如有$a=require('b.php');,那么在b.php中应该写成<?php return xxx;而不能直接写<?php xxx,这是个什么逻辑?

最后,感谢浏览,感谢回答。

回复内容:

关于requireinclude关键词,我印象中大致的区别就是,前者是伪编译时进行的无条件插入,而后者是运行时解释执行的。
问题如下:
1、如果待引入的文件是运行时确定的,比如require $file;include $file,那么此时两者的行为有什么区别?
2、我是把这两个关键词当作C语言中的#include看待的,但是实际运用过程中,比如有$a=require('b.php');,那么在b.php中应该写成<?php return xxx;而不能直接写<?php xxx,这是个什么逻辑?

最后,感谢浏览,感谢回答。

第一个问题楼上都说了,说下第二个
//b.php
<?php return ['sf'=>'php'];//不加return require接收不到值
//a.php
$a=require('b.php');//$a就是['sf'=>'php']

require 引用失败 直接致命错误,就是<?php xxx 这么写啊

require和include的区别就是当引用的文件不存在时两者的错误级别不同。include只是警告,require则是致命错误。详情参见php的官方文档。

require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误
include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。
还有就是include有返回值,而require没有。

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