想从内存的角度听听是怎么回事
<?php
// 报错
$a = 1;
static $b = &$a;
echo $b;
补充:把静态变量换成数组就可以了。
<?php
//正常
$a = 1;
static $b = [];
$b[0] = &$a;
var_dump($b);
die;
1 回答
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
这个和 PHP 没有关系,是因为静态变量比普通变量声明的早,当程序编译时,会把静态变量放到一个内存中,但这是程序还没运行,而普通变量的值未知的,所以会出现错误。
即使不是引用也不可以,你试一下。
- 1 回答
- 0 关注
- 387 浏览
添加回答
举报
0/150
提交
取消