【问题标题】:What does a variable set to "&NULL" means in PHP?在 PHP 中设置为“&NULL”的变量是什么意思?
【发布时间】:2012-05-29 02:07:19
【问题描述】:

我正在研究 PHP 中的树形结构。遍历节点时,有时会抛出异常,因为某些不应为空的节点为空,更准确地说,它设置为“&NULL”:

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

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

【问题讨论】:

标签: php null


【解决方案1】:

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

$a = array();

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

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

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

【讨论】:

  • 这是valuereference,对吧?应用程序中没有遗漏任何内容?
  • @Jared Farrish:我不确定我明白你的意思:-S
  • 我只是想知道是否引用了null,考虑到这种方法。这不是关于null,而是关于方法。当涉及到按值或按引用时,PHP 允许什么? &一直困扰着我。
  • @Jared Farrish:php(与许多其他编程语言一样)允许为内存中的相同值创建“别名”。它们被称为引用 ;-) 它允许有 2 个变量名引用内存中的相同值。所以你改变了一个 - 而另一个也被“改变”了。
  • 我知道什么是引用,但它在实用程序中的作用有时是不同的,因此存在“按值”和“按引用”的问题。这是关于 PHP 的行为和它的“拜占庭”语法。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2010-12-04
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    • 2013-07-03
    • 1970-01-01
    • 2011-08-30
    • 2011-01-24
    • 2013-08-05
    相关资源
    最近更新 更多