PHP

[PHP基础回顾]可变变量和引用操作符

Posted by Chase Shen on 2021-11-20
Estimated Reading Time 1 Minutes
Words 339 In Total
Viewed Times

我发现自己在开发中很容易将可变变量操作符$$和引用操作符&搞混,所以特开此贴加以区分牢记。

可变变量

可变变量允许我们动态地改变一个变量的名称。这个特性的工作原理是用一个变量的值作为另一个变量的名称。

1
2
3
4
5
6
7
$a = 'b';
$$a = 5;

echo $b; //输出:5

//相当于:
$b = 5;

引用操作符

引用操作符&可以在关联赋值中使用。通常在将一个变量的值赋给另一个变量的时候,先产生原变量的一个副本,然后再将它保存在内存的其他地方。

1
2
3
4
5
$a = 5;
$b = $a;
$a = 7;

echo $b; //输出:5

以上代码,首先产生$a的一个副本,然后再将它保存在$b中。如果随后改变$a的值,$b的值将不会改变。

可以使用引用操作符&来避免产生这样的副本:

1
2
3
4
5
$a = 5;
$b = &$a;
$a = 7;

echo $b; //输出:7

引用就像一个别名,而不是一个指针。$a$b都指向了内存的相同地址。
可以通过重置它们来改变所指向的地址:
unset($a),重置$a并不会改变$b的值,但是可以破坏$a和值7保存在内存中的链接。


如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !