php中值传递和引用传递的区别
2019-09-28 本文已影响0人
zhaoxiaohui520
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都指向内存中的同一个地址;其中一个发生改变时,另一个变量的值,相印的也改变。
在函数体内部使用引用传递,将会影响函数外被引用的变量的值。
使用场景:当变量值很大的时候,使用值传递,会进行复制,占用内存,影响程序的执行效率,所以要使用引用传递,提高效率。
————————————————