php函数内部调用require的变量作用域

在函数内部调用require函数后被包含文件内部的变量会有什么作用域?

被包含文件a.inc.php:

<?php

$a='1';
global $b; 
$b = '2';

function fc(){
	echo 'fc';
}
?>

调用文件:

<?php
function infc(){
	require('a.inc.php');

	echo "$a<br>"; //function scope var $a visible
	echo "$b";	//global var $b visible in function
	fc();
}

infc();

echo '--';

fc(); //note: function fc visible

//echo "$a"; //error, function scope not visible
echo "$b"; //ok:global var visible
?>

总结:

函数内部调用require:

变量-->函数scope变量

global-->global变量,并且函数内部可见

函数-->函数内外可见


Total views.

© 2013 - 2018. All rights reserved.

Powered by Hydejack v6.6.1