background image

return

 

$param2

$param3

=&add(

$param1

); 

$param4

=add(

$param1

); 

echo

 '<br>$param3=='.

$param3

.'<br>'; 

//显示为$param3==2 

echo

 '<br>$param4=='.

$param4

.'<br>'; 

//显示为$param4==2 

echo

 '<br>$param1=='.

$param1

.'<br>'; 

//显示为$param1==2 调用变量过程中,$param2 的改

变影响变量

$param3

++; 

/*下面显示为$param1==3,这是因为$param2 和$param1 引用到同一个地方, 
* 返回值前面加了地址符号还是一个引用$param3=&add($param1); 
* 这样$param3,$param2 和$param1 引用到同一个地方,当$param3++;时, 
* $param1 会被改变*/

 

echo

 '<br>$param1=='.

$param1

.'<br>'; 

$param4

++; 

/* 下面显示为$param1==3,这里为什么是 3 而不是 4 呢,这是因为返回值前面没有 
* 地址符号,它不是一个引用所以当$param4 改变时不会影响$param1*/

 

echo

 '<br>$param1=='.

$param1

.'<br>'; 

?> 
 
哈哈,不过我觉得传引用会好一点,耗的资源少。上面测试没有明显的差距,可能是因为测
试数据不够大造成的,如果有更大数据来测试,我想会有明显的不同。