关于PHP中require/include的问题
程序员文章站
2022-04-12 12:02:22
...
关于
问题如下:
1、如果待引入的文件是运行时确定的,比如
2、我是把这两个关键词当作C语言中的
require
和include
关键词,我印象中大致的区别就是,前者是伪编译时进行的无条件插入,而后者是运行时解释执行的。问题如下:
1、如果待引入的文件是运行时确定的,比如
require $file;
和include $file
,那么此时两者的行为有什么区别?2、我是把这两个关键词当作C语言中的
#include
看待的,但是实际运用过程中,比如有$a=require('b.php');
,那么在b.php
中应该写成而不能直接写,这是个什么逻辑?
最后,感谢浏览,感谢回答。
回复内容:
关于require
和include
关键词,我印象中大致的区别就是,前者是伪编译时进行的无条件插入,而后者是运行时解释执行的。
问题如下:
1、如果待引入的文件是运行时确定的,比如require $file;
和include $file
,那么此时两者的行为有什么区别?
2、我是把这两个关键词当作C语言中的#include
看待的,但是实际运用过程中,比如有$a=require('b.php');
,那么在b.php
中应该写成而不能直接写,这是个什么逻辑?
最后,感谢浏览,感谢回答。
第一个问题楼上都说了,说下第二个
//b.php
'php'];//不加return require接收不到值
//a.php
$a=require('b.php');//$a就是['sf'=>'php']
require 引用失败 直接致命错误,就是
require和include的区别就是当引用的文件不存在时两者的错误级别不同。include只是警告,require则是致命错误。详情参见php的官方文档。
require一个文件存在错误的话,那么程序就会中断执行了,并显示致命错误
include一个文件存在错误的话,那么程序不会中端,而是继续执行,并显示一个警告错误。
还有就是include有返回值,而require没有。
推荐阅读
-
详解关于IntelliJ IDEA中Schedule for Addition 的问题
-
SQL语句练习实例之五 WMS系统中的关于LIFO或FIFO的问题分析
-
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
-
php中require和require_once的区别说明
-
关于PHP5.6+版本“No input file specified”问题的解决
-
实测在class的function中include的文件中非php的global全局环境
-
PHP中遇到的时区问题解决方法
-
php中的路径问题与set_include_path使用介绍
-
路由器故障中关于灰尘的问题
-
解析php开发中的中文编码问题