在php中传值与传引用对于我们来讲是有比较大的区别的一个引用可以调用内存地址赋值了,这样只要内存地址中内容变化而赋值的变量也就变化了,付值只是把内存中值给其它变量而己。
传值:
函数参数压栈的是参数的副本。
任何的修改是在副本上作用,没有作用在原来的变量上。
传引用:
压栈的是引用的副本。由于引用是指向某个变量的,对引用的操作其实就是对他指向的变量的操作。(作用和传指针一样,只是引用少了解指针的草纸)
例子
代码如下 | 复制代码 | ||||||||
function func1($a) { $a = $a 1;} function func2(&$a) { $a = $a 1;} $sample = 1; func1($sample); echo $sample; // 输出 1 $sample = 1; func2($sample); echo $sample; // 输出 2 例子
|