如何知道 PHP 变量是否存在,即使它的值为 NULL?

发布于 2024-12-08 09:26:38 字数 232 浏览 3 评论 0原文

$a = NULL;
$c = 1;
var_dump(isset($a)); // bool(false)
var_dump(isset($b)); // bool(false)
var_dump(isset($c)); // bool(true)

如何区分存在但值为 NULL$a 和“实际上不存在”的 $b

$a = NULL;
$c = 1;
var_dump(isset($a)); // bool(false)
var_dump(isset($b)); // bool(false)
var_dump(isset($c)); // bool(true)

How can I distinguish $a, which exists but has a value of NULL, from the “really non-existent” $b?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

感情废物 2024-12-15 09:26:38

使用以下内容:

$a = NULL;
var_dump(true === array_key_exists('a', get_defined_vars()));

Use the following:

$a = NULL;
var_dump(true === array_key_exists('a', get_defined_vars()));
万水千山粽是情ミ 2024-12-15 09:26:38

知道为什么要这样做会很有趣,但无论如何,这是可能的:

使用 get_defined_vars ,其中将包含当前作用域中已定义变量的条目,包括具有 NULL 值的变量。这是它的使用示例

function test()
{
    $a=1;
    $b=null;

    //what is defined in the current scope?
    $defined= get_defined_vars();

    //take a look...
    var_dump($defined);

    //here's how you could test for $b
    $is_b_defined = array_key_exists('b', $defined);
}

test();

这显示

array(2) {
  ["a"] => int(1)
  ["b"] => NULL
}

It would be interesting to know why you want to do this, but in any event, it is possible:

Use get_defined_vars, which will contain an entry for defined variables in the current scope, including those with NULL values. Here's an example of its use

function test()
{
    $a=1;
    $b=null;

    //what is defined in the current scope?
    $defined= get_defined_vars();

    //take a look...
    var_dump($defined);

    //here's how you could test for $b
    $is_b_defined = array_key_exists('b', $defined);
}

test();

This displays

array(2) {
  ["a"] => int(1)
  ["b"] => NULL
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文