明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

在PHP中include與require到底有什么區(qū)別呢?看這里的例子就知道了

[摘要]include.php3的運行結(jié)果是:  這是inc1.inc文件中的一個變量的值!  這是inc2.inc文件中的一個變量的值!  inc1.inc文件中的int變量值為1!require.php3的運行結(jié)果是:  這是inc1.inc文件中的一個變量的值!  inc1.inc文件中的int變量...
include.php3的運行結(jié)果是:
  這是inc1.inc文件中的一個變量的值!
  這是inc2.inc文件中的一個變量的值!
  inc1.inc文件中的$int變量值為1!

require.php3的運行結(jié)果是:
  這是inc1.inc文件中的一個變量的值!
  inc1.inc文件中的$int變量值為2!

你可以看到在require.php3中$int變?yōu)榱?,也就是說inc1.inc中的語句被執(zhí)行了2次,這樣看來在循環(huán)中require語句只被解釋一次,而且會把require語句所在的位置用require的文件內(nèi)容替代并運行,而在循環(huán)中include語句每次都會被解釋運行。

[sonymusic]補充道:
require是只執(zhí)行一次的,不,這么說不恰當。應(yīng)當說,require是先替代,將指定文件的內(nèi)容代進來,再運行,所以它不知道你設(shè)置了一FOR循環(huán)。而include語句,是什么時候執(zhí)行到了,什么把指定文件的內(nèi)容代進來,繼續(xù)執(zhí)行。

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