开发者社区> 问答> 正文

PHP !isset 和isset有差异么??报错

  isset() 是判断值是否被设置值    设了 返回true  ,

                                                没设 返回false,

那 !isset是什么意思呢?是判断值取反么?

 求详解,还有 变量前 +@取消未定义报错 是为什么呢?

展开
收起
爱吃鱼的程序员 2020-06-22 11:25:05 422 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    isset是判断是否定义过,empty才是判断是否为空

    我问的不严谨已经改了,如同这个英文的字面意思isset? 是的!

    php有些函数自己都无法知道返回什么情况,所以@有时就可以抑制错误了.

    比如hex2bin();

    回复 @错II过:unlink函数也是,你说删除不成功就返回false就好了,结果它就喜欢整个警告出来...函数自己都无法知道返回什么,这个语言太不严谨了吧——

    isset()是判断值是否不为空????你确定?

    你试试这个

    <?php$foo='';if(isset($foo)){echo'Thefooisset';}



    我的错,准确的说是判断这个变量是否被设置值,就算你在变量里写了空格也是会被判断设置了一个字符,这个返回值是true 我记得php手册里有个表,关于各类值的isXXX的

    @主要用来,防止抛出给用户看,属于大不了给你空白

    再就是防止异常信息被当做函数返回值之类造成连环错误

    !isset 就是取反
    2020-06-22 11:25:21
    赞同 展开评论 打赏
问答分类:
PHP
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载