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条结论是什么意思,谁能解释一下 展开
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条结论是什么意思,谁能解释一下 展开
3个回答
展开全部
require 相同文件只执行一次,无论你FOR 循环多少次,在程序执行前会先载入require的文件,并检查是否已经载入,如果已经载入,就不再载入。只执行一次,require重复载入是无效的,所以说不适合用于循环。你这里的REQUIRE 的文件不是同一个,所以是效果和INCLUDE是一样的。
include 是先运行程序,遇到include就会把文件载入进来,即使先前已经载入过相同的文件,所以每次循环都会载入并执行
include 是先运行程序,遇到include就会把文件载入进来,即使先前已经载入过相同的文件,所以每次循环都会载入并执行
追问
1.php
改成 echo "123";
3.php 改成
结果:123123
貌似还是载入了两次
5、include有返回值,而require没有(可能因为如此require的速度比include快)
这个怎么解释????
追答
是我搞错了。
require() 和 include() 除了怎样处理失败之外在各方面都完全一样。include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果想在丢失文件时停止处理页面,那就别犹豫了,用 require() 吧。
应该是require_once()函数 应该用于在脚本执行期间同一个文件有可能被包含超过一次的情况下,想确保它只被包含一次以避免函数重定义,变量重新赋值等问题。
展开全部
第一:你要清楚require函数是包含并运行指定文件,是可以放在循环中执行的
第二:有没返回值,是由函数所包含的文件的执行结果决定,没有return的话就没有返回值
第二:有没返回值,是由函数所包含的文件的执行结果决定,没有return的话就没有返回值
追问
在
http://www.5iphp.com/node/78
中 的 2和4条结论是什么意思,谁能解释一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询