经检查是globals变量丢了,该怎么办?我的程序很简单,就是
file1.php
function test($a=20){
$globals[a]=$a;
?>
}
file2.php
include(file1.php)
test1.php
echo $a;//这里找不到值了
?>
file1.php
function test($a=20){
$globals[a]=$a;
?>
}
file2.php
include(file1.php)
test1.php
echo $a;//这里找不到值了
?>
file1.php
function test($a=20){
<?php
$GLOBALS["a"]=$a;
?>
}
file2.php
include(file1.php)
test();
echo $a;//这里找不到值了
echo $GLOBALS["a"];//这个也没有值。
?>
<?php
function test_global_ref() {
global $obj;
$obj = &new stdclass;
}function test_global_noref() {
global $obj;
$obj = new stdclass;
}test_global_ref();
var_dump($obj);
test_global_noref();
var_dump($obj);
?>
执行以上例子会导致如下输出: NULL
object(stdClass)(0) {
}