我发现自己在开发中很容易将可变变量操作符$$和引用操作符&搞混,所以特开此贴加以区分牢记。
可变变量
可变变量允许我们动态地改变一个变量的名称。这个特性的工作原理是用一个变量的值作为另一个变量的名称。
1 | $a = 'b'; |
引用操作符
引用操作符&可以在关联赋值中使用。通常在将一个变量的值赋给另一个变量的时候,先产生原变量的一个副本,然后再将它保存在内存的其他地方。
1 |
|
以上代码,首先产生$a的一个副本,然后再将它保存在$b中。如果随后改变$a的值,$b的值将不会改变。
可以使用引用操作符&来避免产生这样的副本:
1 |
|
引用就像一个别名,而不是一个指针。$a和$b都指向了内存的相同地址。
可以通过重置它们来改变所指向的地址:
unset($a),重置$a并不会改变$b的值,但是可以破坏$a和值7保存在内存中的链接。
如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !