PHP也提供了另外一种方式给变量赋值:引用赋值。这意味着新的变量简单的引用(换言之,“成为其别名” 或者 “指向”)了原始变量。改动新的变量将影响到原始变量,反之亦然。使用引用赋值,简单地将一个 & 符号加到将要赋值的变量前(源变量)。
对象默认是传引用。对于较大的数据,传引用比较好,这样可以节省内存的开销。
注:
按值传递:函数内对值的任何改变在函数外部都会被忽略。
引用传递:函数内对值的任何改变在函数外部也能反映出这些修改。
应用场景:按值传递时,php必须复制值,而按引用传递则不需要复制值,故引用传递一般用于大字符串或对象。
优缺点:
按值传递时,php必须复制值。对于大型字符串和对象来说,这样做代价很大。按引用传递则不需要复制值,对于性能提高有好处。