变量设置为“什么?”&;空";在PHP中是什么意思?

变量设置为“什么?”&;空";在PHP中是什么意思?,php,null,Php,Null,我正在用PHP开发一个树结构。在节点之间循环时,有时会引发异常,因为某些不应为null的节点为null,更准确地说,它被设置为“&null”: 因为它不是引号,我假设它是某种特殊的值,但它是什么意思?它只是表示它是对值的引用NULL $a = array(); $n = null; $a[1] =& $n; var_dump($a); // array(1) { [1]=> &NULL } 如果您更改$n=null至$n=1-然后您将得到&int(1)它只是意味着它是

我正在用PHP开发一个树结构。在节点之间循环时,有时会引发异常,因为某些不应为null的节点为null,更准确地说,它被设置为“&null”:


因为它不是引号,我假设它是某种特殊的值,但它是什么意思?

它只是表示它是对值的引用
NULL

$a = array();

$n = null;
$a[1] =& $n;

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

如果您更改
$n=null
$n=1-然后您将得到
&int(1)

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

$a = array();

$n = null;
$a[1] =& $n;

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

如果您更改
$n=null
$n=1-然后您将得到
&int(1)

它是对空值的引用。“&”是引用符号。

它是对空值的引用。“&”是参考符号。

这是
参考
相比,对吗?在应用程序中没有遗漏任何内容?@Jared Farrish:我不确定我是否了解您:-考虑到方法,我只是想知道是否引用了
null
。这不是关于
null
,而是关于方法。当涉及到值或引用时,PHP允许什么<代码>&
一直困扰着我。@Jared Farrish:php(和许多其他编程语言一样)允许为内存中的相同值创建“别名”。它们被称为引用;-)它允许两个变量名在内存中引用相同的值。我知道什么是引用,但它的效用有时是不同的,因此“按值”和“按引用”的问题就出现了。这是关于PHP的行为和“拜占庭式”语法。这是
value
reference
,对吗?在应用程序中没有遗漏任何内容?@Jared Farrish:我不确定我是否了解您:-考虑到方法,我只是想知道是否引用了
null
。这不是关于
null
,而是关于方法。当涉及到值或引用时,PHP允许什么<代码>&
一直困扰着我。@Jared Farrish:php(和许多其他编程语言一样)允许为内存中的相同值创建“别名”。它们被称为引用;-)它允许两个变量名在内存中引用相同的值。我知道什么是引用,但它的效用有时是不同的,因此“按值”和“按引用”的问题就出现了。这是关于PHP的行为和它的“拜占庭”语法。