结论:
变量作为参数时,值为复制值,如需要传入引用则需要&
array在作为参数时,值为复制值,如需要传入引用则需要&
class作为参数时,值为引用
实验内容:
echo "var test===============;\n";
$var=1;
function t($var){
$var+=1;
}
t($var);print "$var\n";
function t1(&$var){
$var+=1;
}
t1($var);print "$var\n";
echo "array test===============;\n";
$arr=array(1,2);
function a1($arr){
array_push($arr,3);
}
a1($arr);print_r($arr);
function a2(&$arr){
array_push($arr,3);
}
a2($arr);print_r($arr);
echo "var class===============;\n";
class X{
var $x=1;
}
$x=new X();
function c1($x){
$x->x+=1;
}
c1($x);print "$x->x\n";
function c2(&$x){
$x->x+=1;
}
c2($x);print "$x->x\n";