Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP似乎将null定义为自身。这是怎么回事?_Php_Null - Fatal编程技术网

PHP似乎将null定义为自身。这是怎么回事?

PHP似乎将null定义为自身。这是怎么回事?,php,null,Php,Null,我的一位同事发现,通过在PHPStorm中按住ctrl键单击null,PHP将null定义为 define ('null', null, true); 在core\u d.php中 为什么PHP需要定义null 这到底是怎么回事?它如何将null定义为自身 到目前为止,我最好的理论是,null可能已经定义,但是使用define可以添加不区分大小写的别名。我对PHP的了解还不足以判断这种可能性。core_d.PHP属于PHPStorm,而不是PHP本身。PHP几乎完全是用C编写的。该文件的存在可

我的一位同事发现,通过在PHPStorm中按住ctrl键单击
null
,PHP将
null
定义为

define ('null', null, true);
core\u d.php

  • 为什么PHP需要定义null
  • 这到底是怎么回事?它如何将
    null
    定义为自身

  • 到目前为止,我最好的理论是,
    null
    可能已经定义,但是使用
    define
    可以添加不区分大小写的别名。我对PHP的了解还不足以判断这种可能性。

    core_d.PHP
    属于PHPStorm,而不是PHP本身。PHP几乎完全是用C编写的。该文件的存在可能有助于代码洞察和静态分析。从:

    存根是正常的、语法正确的PHP文件,包含所有内置PHP内容和大多数标准扩展的函数和类签名、常量定义等。存根需要包含完整的PHPDOC,尤其是适当的@return注释

    IDE需要它们来完成、代码检查、类型推断、文档弹出窗口等。大多数服务的质量取决于存根的质量(基本上是它们的PHPDOC@annotation)


    然而,正如php所指出的,它确实定义了一个名为null的常量。它目前在php源代码的
    zend\u register\u standard\u constants()

    末尾定义。不过,值得注意的是,php中实际上有一个名为
    null
    的常量,它的值是,你知道的,
    null
    :。这样做可能是为了避免人们在PHP中重新定义值关键字。