//引用返回
function &testReturn(){
static $b = 1;
$b += 2;
return $b;
}
$a = &testReturn();
$a = 8;
$c = &testReturn();
$c = 12;
$d = testReturn();
//echo $d;
function &cuitReturn(){
$a = 2;
return $a;
}
$cr = &cuitReturn();
//echo $cr;
$cr = 4;
$cr1 = cuitReturn();
echo $cr1;
第二个函数,改变赋值变量的值,$cr = 4;函数的返回值为什么没变?
你第一个函数, 代码其实是这样的, 因为
$b
是个静态变量, 所以函数执行完也不会被 released.但是第二个函数中
$a
是个局部变量, 函数执行完了, 这块变量的内存就释放了.