说一说按值传递和按引用传递
在默认情况下,函数是按值传递的,也就是传递的是变量的值,而不是变量的本身,也就说函数使用的是变量的一份副本,这种传递的结果就是不会影响变量本身的值。
除了默认行为我们还可以使用引用传递,就是传递变量本身,而不是按值传递,这样有两个好处,第一个是可以改变函数外部变量本身的值,而不需要定义全局变量。第二个好处是如果需要引用传递的数据比较大的场景,按照引用传递则php不在需要构建一份数据的副本,进而提高运行效率。
引用传递需要在变量前面添加一个 “&”符号:
$num = 1; function func(&$num) { $num++; } func($num); //2 //php5.4以后不在支持下面这种写法 function func($num) { $num++; } func(&$num);