为什么gettype()为未定义的变量输出“NULL”?

时间:2018-03-15 06:49:01

标签: php

我尝试过以下代码:

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

我得到了以下输出:

enter image description here

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

2 个答案:

答案 0 :(得分:1)

documentation of NULL解释说:

  

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

     

如果符合以下情况,则变量被视为null

     
      
  • 已为其分配常量NULL
  •   
  • 尚未设置为任何值。
  •   
  • 已经unset()
  •   

同时查看表格"Comparisons of $x with PHP functions"

答案 1 :(得分:0)

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

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

但在你的情况下,x没有启动,因此它保持为空。 Vars在奔跑中起作用,可以是任何东西。

我希望这在某种程度上有用。

(如果这包含误解,请告诉我有什么问题)