程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 通過實例深入剖析require和include的用法

通過實例深入剖析require和include的用法

編輯:關於PHP編程

在php中,include和require的作用比較容易混淆。下面我以一個經典例子來深刻說明它們的區別。

    當我們經常訪問一個數據庫時,可以把連庫語句寫成一個文件

con_db.php

<?php
    $dbh =  mysql_connect(localhost,,);
    mysql_select_db(admreqs);
?>

在實際應用時,我們可以在程序中調用這個文件。

如require("con_db.php")或include("con_db.php)

這時,兩個函數的效果是差不多的。

但如果這樣用

filename.php

<?php
require("con_db.php")
function myfun($par1,$par2)
{包含對數據庫處理的語句}
.....
myfun($par1,$par2);
.....
myfun($p1,$p2);
?>

  文件到myfun處將不能繼續執行,因為函數裡無法得到外面的變量(include也是一樣的)。除非把$dbh作為一個變量傳給函數。這又增加了調用函數的復雜度。

  我們可以通過把require或include放在函數裡面來解決這個問題。

  如果用include,文件的第一個函數調用處將順利通過,但第二個調用將無法執行,原因是不能在沒有關閉數據庫時在打開一次,也就是說,con_db.php執行了兩次。將include換成require,一切都正常。

  也就是說,require類似於一次預掃描,在程序執行時,無論在函數裡或是函數外,都將先把require的文件執行,且只執行一次。而include則是每執行一次就調用一次文件,即這次執行後,下次再執行執行到這裡,仍將再執行一次。

    因此,如果在一個循環中,某些語句你只想執行一次,那你用require包括它們就可以了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved