【问题标题】:check if a variable is defined (null or not) [duplicate]检查是否定义了变量(是否为空)[重复]
【发布时间】:2018-01-11 15:58:20
【问题描述】:

我想测试一个变量是否存在 这个变量可以设置为null。

有没有可以测试的函数?

isset() 如果变量存在但定义为 null,则返回 false。 如果我的$var 没有定义,我就不能使用is_null()

编辑: 我的 var 是一个对象属性,所以我这样做了:

property_exists($pData, $key)

这行得通

谢谢

【问题讨论】:

  • 不!没有针对该特定要求的内置函数。
  • PHP 中没有检查变量是否存在的内置函数。 isset() 是检查变量是否设置或存在的正确方法。还有一个 defined() 函数,它只对 contasts 起作用。另请参阅question
  • isset(get_defined_vars()['var']) 将在全局范围或方法函数范围内工作。
  • 我的 var 是一个对象属性,所以我这样做了:property_exists($pData, $key) 并且它有效

标签: php


【解决方案1】:

我不认为你可以 - 你可能不应该。但是,如果您不使用方法,则可以检查全局范围:

$x = null;

var_dump(array_key_exists('x', $GLOBALS)); # true
var_dump(array_key_exists('y', $GLOBALS)); # false

另见https://3v4l.org/Sl8Wi

【讨论】:

    猜你喜欢
    • 2010-09-22
    • 2022-09-24
    • 2018-05-26
    • 2015-05-01
    • 2021-10-03
    • 2018-05-21
    • 2021-04-21
    • 2012-02-05
    相关资源
    最近更新 更多