php children.php 运行结果为:$jack is null.也就是说在testJack()中引用的$jack是一个局部变量。 如果使用global关键字,声明这个$jack是一个全局变量,代码改为如下: 复制代码 代码如下: <?php require("father.php"); function testJack(){ global $jack; if(!isset($jack)){ echo '$jack is null'."/n"; }else{ echo '$jack is not null'."/n"; } }//testJack testJack(); ?>
则运行结果为$jack is not null! 情况3: children.php代码如下: 复制代码 代码如下: <?php require("father.php"); class JackTest{ public function testJack(){ if(!isset($jack)){ echo '$jack is null'."/n"; }else{ echo '$jack is not null'."/n"; } }//testJack } $jackTest = new JackTest(); $jackTest->testJack(); ?>
运行结果输出:$jack is null 这是因为class中的这个函数的$jack这是一个局部变量啊。 如果在function testJack开头加 global $jack;那么就输出$jack is not null了。 比较容易理解。 情况4: 把文件名当做参数动态加载,代码如下: 复制代码 代码如下: <?php $casefile = $_SERVER['argv'][1]; echo $casefile."/n"; require($casefile); echo $jack."/n"; ?>