Php 为什么gettype()会输出;空";对于未定义的变量?

Php 为什么gettype()会输出;空";对于未定义的变量?,php,Php,我尝试了以下代码: <?php echo gettype($x); ?> 我得到了以下结果: 为什么显示错误后,gettype()输出“NULL”?我的意思是,一个未定义的变量是一个不存在的变量,不是空变量,对吗?你确实回答了你自己的问题。 在您尝试获取nothing类型时,默认情况下它将为null 比如说 X=5 它将返回一个整数 但是在你的例子中,x没有被启动,因此它保持为空。 VAR在运行中工作,可以是任何东西 我希望这是有用的 (如果这包含误解,请让我知道错误

我尝试了以下代码:

<?php
    echo gettype($x);
?>

我得到了以下结果:


为什么显示错误后,
gettype()
输出“NULL”?我的意思是,一个未定义的变量是一个不存在的变量,不是空变量,对吗?

你确实回答了你自己的问题。 在您尝试获取nothing类型时,默认情况下它将为null

比如说 X=5 它将返回一个整数

但是在你的例子中,x没有被启动,因此它保持为空。 VAR在运行中工作,可以是任何东西

我希望这是有用的

(如果这包含误解,请让我知道错误所在)

说明:

特殊的
NULL
值表示没有值的变量
NULL
是类型
NULL
的唯一可能值

在下列情况下,变量被视为
null

  • 它已被分配常数
    NULL
  • 它尚未设置为任何值
  • 它一直是

也请检查表格。

变量值在哪里可能与您在哪里定义的
$x
重复?@Phil Roggenbuck我本来打算不定义
$x
。@Steve啊,现在我明白了。但是如果一个尚未设置为任何值的变量为空(如文档所述),那么,当我调用变量上的
gettype()
时,为什么会出现错误(我应该只得到“NULL”)?
gettype()
在被问及未定义变量的类型时返回
NULL
,但对未定义变量的任何读取都会发出“注意:未定义变量”。