tjb*_*rke 16 php isnull isset isnullorempty
在PHP中,我要检查,如果一个变量尚未设置/定义,这里设置变量NULL被认为是集/定义.
我知道这里的一切:http: //php.net/manual/en/types.comparisons.php 包括isset(),empty()和is_null().这些似乎都不是我想要的.请考虑以下示例:
<?php
$myNull = null;
echo 'isset($myNull): "'.isset($myNull).'"<br />';
echo '$myNull value = "'.$myNull . '"<br />';
echo "<br />";
echo 'isset($myUndefined): "'.isset($myUndefined).'"<br />';
echo '$myUndefined value = "'.$myUndefined . '"<br />';
?>
Run Code Online (Sandbox Code Playgroud)
这个例子中,输出是这样的:
isset($ myNull): ""
$ myNull值= ""
isset($ myUndefined):""
注意:未定义的变量:第9行的C:\ wamp\www\plm\temp4.php中的myUndefined
$ myUndefined value =""
我想知道变量是否是Undefined,如上面通知中所述.我想要一个函数,称之为"is_undefined",其中
$myNull = null;
is_undefined($myNull); // is false
is_undefined($myUndefined); // is true
Run Code Online (Sandbox Code Playgroud)
任何人?提前致谢.
clj*_*ljk 19
我还没用过它 - 但我认为"get_defined_vars"值得一看...... http://php.net/manual/en/function.get-defined-vars.php
我会试一试并转储结果.
我认为get_defined_vars是这项工作的一个很好的候选人:
array_key_exists('myNull', get_defined_vars());
Run Code Online (Sandbox Code Playgroud)
应该做你期望的.
如果您处理全局上下文,您还可以使用:
array_key_exists('myNull', $GLOBALS);
Run Code Online (Sandbox Code Playgroud)
如果你想要一个is_undefined函数,我宁愿不使用数组,所以我会这样做:
function is_undefined(&$test) {
return isset($test) && !is_null($test);
}
Run Code Online (Sandbox Code Playgroud)
所以当你echo isset($myNull);将布尔值(true)转换为""时.这就是为什么价值是空白的.如果你想在屏幕上看到它,你可以这样做var_dump(isset($myNull));,如果它是真或假.
你也有一个$ myUndefined的回声,但它还没有设置,这就是你得到警告的原因.你想要做的是:
if (!empty($myUndefined)) {
// variable is defined so do something with it
echo '$myUndefined value = "' . $myUndefined . '"<br />';
} else {
echo 'Oops, $myUndefined is Undefined!<br />";
}
Run Code Online (Sandbox Code Playgroud)
以下是isset()与is_null()与empty()的简要概述
$foo = null;
// isset($foo) == true;
// empty($foo) == true;
// is_null($foo) == true;
// Notice I don't set $foo2 to anything
// isset($foo2) == false;
// empty($foo2) == true;
// is_null($foo2) throws a notice!
$foo3 = false;
// isset($foo2) == true;
// empty($foo2) == true;
// is_null($foo2) == false;
$foo4 = 1234;
// isset($foo2) == true;
// empty($foo2) == false;
// is_null($foo2) == false;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31864 次 |
| 最近记录: |