繁体   English   中英

!$ var与isset()不同?

[英]!$var is different than isset()?

我正在使用PHP脚本向我显示以下警告:

Undefined variable: _pagi_htaccess

这一行是这样的:

if (!$var){

我做了以下更改:

if (!isset($var)){

警告不再存在,但脚本无效。 在更改之前,if中的代码已执行,现在使用!isset,代码正在执行else。 所以,我不明白!$ var和!isset($ var)之间的区别

尝试这个:

if (isset($var) && !$var) {

这首先检查变量是否存在然后,然后检查它是否为FALSE。

请注意:这不是很好的编程。 最好找出原因,在某些情况下,$ var不存在。 这可能是由某种编码错误引起的。

作为@Halfstop@Alex说。 !$ var是$ var的否定,$ var被转换为boolean然后它被评估,如果$ var等于true,!$ var等于false。

另一方面,isset($ var)确定变量是否设置且不是NULL,那么如果你有if(!isset($ var))则询问是否设置并且是$ $ var。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM