在维护代码时,我遇到了循环,在循环结束时,几个变量被设置为NULL如下:$var = NULL;.根据我在手册中的理解,NULL主要用于在PHP代码中进行比较.由于NULL没有类型而且不是字符串或数字,输出它是没有意义的.
遗憾的是我无法提供示例,但我认为NULL值正在写入我们代码中的文件.我的问题是:$var在赋值后是否有值,并将回显/写入它产生输出?
编辑: 我已阅读PHP手册条目 NULL.没有必要在评论或回答中发布这个:http://php.net/manual/en/language.types.null.php,或者在没有RTM的情况下向我推荐.谢谢!
null与 PHP 中的任何其他值非常相似(实际上,它也是与 string、int 等不同的数据类型)。
然而,有一个重要的区别:isset($var)检查 var 是否存在并且是否具有非空值。
如果您打算在分配新值之前再次读取变量,unset()这是错误的方法,但分配null是完全可以的:
php > $a = null;
php > if($a) echo 'x';
php > unset($a);
php > if($a) echo 'x';
Notice: Undefined variable: a in php shell code on line 1
php >
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,unset()实际上删除了变量,就像它从未存在过一样,同时分配null将其设置为特定值(并在必要时创建变量)。
null当您想知道是否提供了默认参数时, 的一个有用用例是默认参数,并且空字符串、零等也有效:
function foo($bar = null) {
if($bar === null) { ... }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27110 次 |
| 最近记录: |