php require 不能放在循环中和没有返回值问题?

1.phpreturn"111";2.phpreturn"222";3.phpfor($i=1;$i<3;$i++){var_dump(require($i.".php"... 1.php
return "111";
2.php
return "222";
3.php
for ($i=1;$i<3;$i++){
var_dump(require($i.".php"));
}

结果:
string(3) "111"
string(3) "222"

结论:又能放在循环也有返回值,谁能给我解释一下,还是我理解的有问题?

http://www.5iphp.com/node/78
中 的 2和4条结论是什么意思,谁能解释一下
展开
 我来答
zelinder
2012-05-29 · TA获得超过156个赞
知道答主
回答量:88
采纳率:0%
帮助的人:58.7万
展开全部
require 相同文件只执行一次,无论你FOR 循环多少次,在程序执行前会先载入require的文件,并检查是否已经载入,如果已经载入,就不再载入。只执行一次,require重复载入是无效的,所以说不适合用于循环。你这里的REQUIRE 的文件不是同一个,所以是效果和INCLUDE是一样的。

include 是先运行程序,遇到include就会把文件载入进来,即使先前已经载入过相同的文件,所以每次循环都会载入并执行
追问
1.php
改成 echo "123";
3.php 改成

结果:123123

貌似还是载入了两次

5、include有返回值,而require没有(可能因为如此require的速度比include快)

这个怎么解释????
追答
是我搞错了。
require() 和 include() 除了怎样处理失败之外在各方面都完全一样。include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果想在丢失文件时停止处理页面,那就别犹豫了,用 require() 吧。
应该是require_once()函数 应该用于在脚本执行期间同一个文件有可能被包含超过一次的情况下,想确保它只被包含一次以避免函数重定义,变量重新赋值等问题。
在布鲁塞尔拉大提琴的羽叶鸟萝
2012-05-25 · TA获得超过236个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:212万
展开全部
第一:你要清楚require函数是包含并运行指定文件,是可以放在循环中执行的
第二:有没返回值,是由函数所包含的文件的执行结果决定,没有return的话就没有返回值
追问

http://www.5iphp.com/node/78
中 的 2和4条结论是什么意思,谁能解释一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
avidy007
2012-05-25
知道答主
回答量:14
采纳率:0%
帮助的人:6万
展开全部
为什么要这样写?
追问

http://www.5iphp.com/node/78
中 的 2和4条结论是什么意思,谁能解释一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式