【问题标题】:Why does gettype() output "NULL" for an undefined variable?为什么 gettype() 为未定义的变量输出“NULL”?
【发布时间】:2018-03-15 06:49:00
【问题描述】:

我已经尝试了以下代码:

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

我得到以下输出:

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

【问题讨论】:

标签: php


【解决方案1】:

documentation of NULL 解释:

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

一个变量被认为是null 如果:

  • 它被分配了常量NULL
  • 尚未设置任何值。
  • 一直是unset()

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

【讨论】:

  • 但是,如果一个尚未设置为任何值的变量为 NULL(如文档所述),那么当我在该变量上调用 gettype() 时为什么会出现错误(我应该只得到“NULL”)?
  • gettype() 在被问及未定义变量的类型时返回 NULL,但对未定义变量的任何读取都会发出“注意:未定义变量”。
【解决方案2】:

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

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

但在您的情况下,x 没有启动,因此它保持为空。 Vars 在运行中工作,可以是任何东西。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多