在 PHP 中,设置为 “&NULL” 的变量是什么意思


What does a variable set to "&NULL" means in PHP?

我正在研究PHP中的树结构。循环遍历节点时,有时会引发异常,因为某些不应该为 null 的节点为 null,更准确地说,它设置为 "&NULL":

array(13) {
  // ...
  // some data...
  // ...
  ["segments"]=>
  NULL
  ["leaf"]=>
  bool(false)
  ["children"]=>
  &NULL
}

由于它不在引号内,我认为它是某种特殊价值,但它是什么意思?

只是意味着它是对值的引用NULL

$a = array();
$n = null;
$a[1] =& $n;
var_dump($a); // array(1) { [1]=> &NULL }

如果您将$n = null;更改为$n = 1; - 那么您将得到&int(1)

它是对 null 值的引用。 "&"是参考符号。