Rumah > pembangunan bahagian belakang > tutorial php > 关于PHP中require/include的问题

关于PHP中require/include的问题

WBOY
Lepaskan: 2016-06-06 20:12:21
asal
1086 orang telah melayarinya

关于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没有。

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan