include.php3的运行结果是:
这是inc1.inc文件中的一个变量的值!
这是inc2.inc文件中的一个变量的值!
inc1.inc文件中的$int变量值为1!
require.php3的运行结果是:
这是inc1.inc文件中的一个变量的值!
inc1.inc文件中的$int变量值为2!
你可以看到在require.php3中$int变为了2,也就是说inc1.inc中的语句被执行了2次,这样看来在循环中require语句只被解释一次,而且会把require语句所在的位置用require的文件内容替代并运行,而在循环中include语句每次都会被解释运行。
[sonymusic]补充道:
require是只执行一次的,不,这么说不恰当。应当说,require是先替代,将指定文件的内容代进来,再运行,所以它不知道你设置了一for循环。而include语句,是什么时候执行到了,什么把指定文件的内容代进来,继续执行。
include.php3:
<html>
<body>
<?
for($i=1;$i<=2;$i++){
include("inc$i.inc");
}
echo $var1;
echo $var2;
echo 'inc1.inc文件中的$int变量值为' . $int . "!<br>";
?>
</body>
</html>
require.php3:
<html>
<body>
<?
for($i=1;$i<=2;$i++){
require("inc$i.inc");
}
echo $var1;
echo $var2;
echo 'inc1.inc文件中的$int变量值为' . $int . "!<br>";
?>
</body>
</html>
inc1.inc:
<?
$var1 = "这是inc1.inc文件中的一个变量的值!<br>";
if(isset($int)){
$int++;
}
else{
$int = 1;
}
?>
inc2.inc:
<?
$var2 = "这是inc2.inc文件中的一个变量的值!<br>";
?>
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器