PHP-PHP中一个变量赋值NULL,与未定义的变量如何区分

发布于 2016-11-22 17:10:14 字数 85 浏览 1234 评论 3

<?php
$a = NULL;
// $b; //未定义
?>
如何判断$a $b是否定义

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

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

发布评论

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

评论(3

甜柠檬 2017-06-24 17:14:33

isset($a) --- true
isset($b) --- false

p.s. 这个果然是不对的。

$foo = NULL;
$vars = get_defined_vars();
if (array_key_exists('bar', $vars)) {}; // Should evaluate to FALSE
if (array_key_exists('foo', $vars)) {}; // Should evaluate to TRUE

偏爱自由 2017-05-24 16:32:02

is_null 应该判断一个就行了,如果未定义就用is_set, 如果定义了判断空empty.

灵芸 2017-03-19 14:30:13

单纯比较不太好区分 不过你可以通过下面两种方法来检查变量是否有定义

// 1
array_key_exists('var', $GLOBALS);

// 2
error_reporting(E_ALL);

function exception_error_handler($errno, $errstr, $errfile, $errline ) {
throw new ErrorException($errstr, 0, $errno, $errfile, $errline);
}
set_error_handler("exception_error_handler");

try {
if (null === $var) {
// 变量值为null
}
} catch (ErrorException$e) {
// 变量未定义
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文