在PHP中include和require到底有什麼區別呢?看這裡的例子就知道了
來源:互聯網
上載者:User
include|區別 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>";
?>