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>"; ?>
|