時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)
很多學(xué)php的人都會被 include、require、require_once、include_once 幾個東西弄個頭暈轉(zhuǎn)向
書上的說法是 require 是預(yù)先載入的,不過細(xì)心的會發(fā)現(xiàn),在程序中用 include 和 require 一個文件,其實并無區(qū)別
require_once 、 include_once 則是表示不重復(fù)載入某文件,含義是一樣的,那么到底區(qū)別在那里呢?
下面說幾個例子說明問題:
例一:在局部代碼中,不管是include還是require其實都不會預(yù)加載代碼的
如:
<?php
if(isset($aaa)) include("aaa.php");
(isset($aaa)) require("aaa.php");
echo 'ok';
?>
不管是否存在 aaa.php 上面的程序都是不會報錯的,這說明在全部文件的局部作用域中 require 和 include 是一樣的
下面定義文件 bbb.php
<?php
$bbb = 'I am bbb!';
?>
下面是引用bbb.php的程序
<?php
function test1(){
require("bbb.php");
echo "RQ".$bbb;
}
function test2(){
include("bbb.php");
echo "INC".$bbb;
}
test1();
test2();
?>
運行上述文件最終的結(jié)果是:RQ會報錯或只輸出RQ
INC會輸出INC I am bbb
現(xiàn)在能分出 require 和 include 的區(qū)別了吧
就是說 require 不管放在那里,都會被當(dāng)作全局的代碼,而include里面的代碼本身可以當(dāng)作局部的代碼
因此,如果你在函數(shù)或類里調(diào)用有定義全局變量的文件,應(yīng)該用 include ,如果純函數(shù)則兩都都可以
如果不想弄亂程序結(jié)構(gòu),也可以在 bbb.php 中聲明 global $bbb;
這樣兩者都一致了!
關(guān)鍵詞標(biāo)簽:區(qū)別,include,require
相關(guān)閱讀
熱門文章 plsql developer怎么連接數(shù)據(jù)庫-plsql deve2021年最好用的10款php開發(fā)工具推薦在 PHP 中使用命令行工具php應(yīng)用程序安全防范技術(shù)研究
人氣排行 詳解ucenter原理及第三方應(yīng)用程序整合思路、方法PHP中防止SQL注入攻擊PHP會話Session的具體使用方法解析PHP運行出現(xiàn)Notice : Use of undefined constant 的解決辦法CakePHP程序員必須知道的21條技巧PHP采集圖片實例(PHP采集)PHP如何清空mySQL數(shù)據(jù)庫plsql developer怎么連接數(shù)據(jù)庫-plsql developer連接數(shù)據(jù)庫方法