日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

實(shí)例說明include_once與include的區(qū)別?

時(shí)間:2016-12-05 22:10:08 類型:PHP
字號:    

問:  include和include_once都可以包含文件,  那么這兩個(gè)函數(shù)有什么區(qū)別呢?
答:  1. 如果只是包含靜態(tài)文件, 都可以包含, 而且會(huì)重復(fù)包含, 沒有區(qū)別, 但是如果包含的文件中有函數(shù)就不一樣了, 我們知道, 在PHP中, 函數(shù)名是不可以重名的, 那么我們看以下代碼情況:


fun.php文件代碼內(nèi)容如下:

/**
 * 打印函數(shù)
 */
function dump($str,$dump = false,$echo = true,$char = 'UTF-8')
{
	@ob_start();
	@header("Content-Type:text/html;charset=\"$char\"");
	echo '<pre><div style="text-align:left;">';
	if($dump)var_dump($str);else print_r($str);
	echo '</div></pre>';
	$out =  ob_get_contents();
	ob_end_clean();
	if($echo)
	{
		echo $out;
	}
	else
	{
		return $out;
	}
	return NULL;
}
調(diào)用fun.php的文件a.php代碼如下:
       include("fun.php");
       include("fun.php");
       $citys = ["北京","上海","杭州","深圳"];
      dump($citys);
//報(bào)錯(cuò): Fatal error: Cannot redeclare dump()
//如果代碼像下面這樣, 重復(fù)加載fun.php文件, 那么就只會(huì)加載一次, 也就不會(huì)出錯(cuò)了
        include_once("fun.php");
	include_once("fun.php");
	$citys = ["北京","上海","杭州","深圳"];
	dump($citys);
總的來說: 當(dāng)加載同一個(gè)文件時(shí),include不會(huì)先進(jìn)行檢查錯(cuò)誤, 然后遇到同名的函數(shù)就會(huì)報(bào)錯(cuò), 而include_once會(huì)進(jìn)行檢查, 如果已經(jīng)加載了同名函數(shù), 那么便不再加載, 同理 require與require_once也是一樣的區(qū)別用法