php默认的一般情况下,都使用的是值传递;
- 值传递:
就是将一个变量的值,复制给另一个变量;
eg:
a=4;
a
=
4
;
b =
a;//
a
;
/
/
b的值为4
说明:在函数内部使用值传递,不会对原变量产生影响。
- 引用传递:
在变量前加&符号,就是引用传递。
eg:
a=3;
a
=
3
;
b = &
a;//
a
;
/
/
b的值为3
b=
b
=
b +2;//此时,
b为5,
b
为
5
,
a的值也为5
说明:引用传递,是将变量的值,在内存中的地址,传递给另一个变量,即
a和
a
和
b都指向内存中的同一个地址;其中一个发生改变时,另一个变量的值,相印的也改变。
在函数体内部使用引用传递,将会影响函数外被引用的变量的值。
使用场景:当变量值很大的时候,使用值传递,会进行复制,占用内存,影响程序的执行效率,所以要使用引用传递,提高效率。