Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >$a与$a === false的区别

$a与$a === false的区别
EN

Stack Overflow用户
提问于 2012-11-18 03:39:27
回答 4查看 881关注 0票数 0

可能重复: 是!$page == false还是$page in php?

这两种支票有什么区别?哪种方法是正确的类型检查,称为函数或方法失败并返回false?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (!is_dir($path)) {...}

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (is_dir($path) === false) {...}
EN

回答 4

Stack Overflow用户

发布于 2012-11-18 03:44:21

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(!is_dir($path)){...}

如果is_dir($path)是,则为等于false。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(is_dir($path) === false){...}

如果is_dir($path)是IDENTIFCAL to false。这是更多的显式,因为is_dir($path)的结果必须是布尔虚值。其他什么也做不了。

运行此示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

$var = 0;

if($var == false){
    echo 'Var is EQUAL to FALSE.';
}

if($var === false){
    echo 'Var is IDENTICAL to FALSE.';
}

?>

阅读比较操作符这里

票数 2
EN

Stack Overflow用户

发布于 2012-11-18 03:43:04

如果$a设置为0,或者$a未设置,则$a为真。三重等号严格检查假,而不仅仅是空值.

票数 1
EN

Stack Overflow用户

发布于 2012-11-18 03:44:06

===运算符是“相同值和相同类型”的比较。因此,只有当$foo === false已经是等于false的bool类型时,!$foo才是真,而!$foo将根据$foo的类型执行不同的操作(例如,如果$foo是一个对象或资源,那么它将检查它是否为空值。如果它是一个字符串,那么它会检查空字符串(我也认为是空字符串,但我不确定)。如果它是一个整数,那么它检查它是否为零。基本上,它的工作原理类似于C的!操作符,在它们添加bool类型之前(布尔值实际上是int值)。

在您的代码中,这两个示例都是“正确的”,尽管使用!运算符的第一个示例是最简洁的,应该是首选的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13439757

复制
相关文章
false path和asynchronous的区别
  在FPGA的开发中,对于两个异步时钟,如果我们可以在RTL的设计中保证这两个时钟域之间的处理都是正确的,那就可以让工具不分析这两个时钟域之间的交互。如果不设置的话,Vivado默认都会分析的,这样会大大增加Implementation的时间。
猫叔Rex
2021/11/25
3380
php中0与空 Null false的区别 复制代码
这一点可以用echo gettype('');和echo gettype(NULL);来打印看看!而===运算符是不单比较值,还有比较类型的,所以第三个为false!
双面人
2019/04/10
1.2K0
php中0与空 Null false的区别  复制代码
【前端】stopPropagation, preventDefault, return false的区别
因为事件可以在各层级的节点中传递, 不管是冒泡还是捕获, 有时我们希望事件在特定节点执行完之后不再传递, 可以使用事件对象的 stopPropagation() 方法.
zhaokang555
2023/10/17
1630
index=False与index=True的含义
在 Excel 中 index 函数是用来引用我们所需的信息. index = False:输出不显示 index (索引)值 index = True:输出显示 index (索引)值 ---- 一、index = False 二、index = True ---- 一、index = False 代码示例 运行结果 二、index = True 代码示例 运行结果
荣仔_最靓的仔
2021/09/07
2.7K0
jQuery中return false,e.preventDefault(),e.stopPropagation()的区别
我们会看到这样的情况:span alert -> td alert -> table alert。这就叫事件冒泡。就是从下到上,从里到外,事件依次触发。 有的时候我们不希望事件冒泡咋办?
李维亮
2021/07/09
4040
Django:DEBUG=False
Django关闭DEBUG模式后,就相当于是生产环境了,Django官网上指出如果是django框架一旦作为生产环境,那么它的静态文件访问接口就不应该从Django框架中走了,应该有独立的web环境,首推nginx 。
新码农
2020/12/28
7850
<b>与<strong> <em>与<i>标签的区别
 <b>与 <strong>用在网页上都能使字体加粗,二者的不同是:<b>是物理元素 ;<strong>是逻辑元素。  物理元素强调的是一种物理行为。比如说,把一段文字用b加粗,意思是告诉浏览器应该加粗显示,没有其他作用。而<strong>可以从字面理解知道它是强调的意思,<strong>是逻辑标签,强调文档逻辑。  对于搜索引擎(SEO)来说,<strong>比<b>重视的多。 <em>和<i>都是斜体,但是<em>是逻辑元素,<i>是物理元素。
windseek
2018/06/15
1.8K0
2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true
2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true false; C: true true true false false;D: true true false true true。
福大大架构师每日一题
2022/09/30
1.3K0
2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true
nohup 与 & 的区别
nohup -- invoke a utility immune to hangups : 运行命令忽略挂起信号
西湖醋鱼
2020/12/30
2.1K0
nohup 与 & 的区别
equals()与==的区别?
== : 它的作用是判断两个对象的地址是不是相等。即判断两个对象是不是同一个对象。(基本数据类型==比较的是值,引用数据类型==比较的是内存地址)。
黑洞代码
2021/01/14
1.6K0
oracle与mysql结构区别_oracle与mysql的区别
oracle:可变长度varchar2、浮点型number,小数浮点型number(m,n),可变二进制数据raw,大对象类型(存储无结构数据,最大4G)lob
全栈程序员站长
2022/10/05
3.5K0
%与mod的区别
%与mod的区别: %出来的数有正有负,符号取决于左操作数。。。而mod只能是(因为a = b * q + r (q > 0 and 0 <= r < q), then we have a mod q = r 中r要大于等于0小于q)。。。。。
杨鹏伟
2020/09/11
1.6K0
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 pac
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。
福大大架构师每日一题
2022/10/28
1.1K0
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 pac
多线程thread与runnable的区别_handlerthread与thread的区别
按照MSDN上讲:“获取或设置一个值,该值指示某个线程是否为后台线程。” 其实这个解释并不到位,至少应该解释一下后台线程的概念!
全栈程序员站长
2022/11/08
1K0
@Configuration(proxyBeanMethods = false) 详解
@Configuration配置类是有主次之分的,主配置类是驱动整个程序的入口,可以是一个,也可以是多个(若存在多个,支持使用@Order排序)
黑洞代码
2021/06/23
2.8K0
@Configuration(proxyBeanMethods = false) 详解
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。
福大大架构师每日一题
2022/11/06
8910
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D
CRM/PLM/SCM/MES与ERP的联系与区别
企业通过专设信息机构、信息主管,配备适应现代企业管理运营要求的自动化、智能化、高技术硬件、软件、设备、设施,建立包括网络、数据库和各类信息管理系统在内的工作平台,提高企业经营管理效率的发展模式。那么,在企业信息化建设中所用到的技术CRM、PLM、SCM、MES与ERP这些概念之间又有什么联系与区别呢?
用户5495712
2019/10/31
2.3K0
Apache与Tomcat的区别与联系
Apache 和 Tomcat 的区别有:Apache 是用 C 语言实现,而 Tomcat 是用 Java 实现的;Apache 可以单向与 Tomcat 连通,即通过 Apache 可以访问 Tomcat 资源,反之不然。
迷路的朱朱
2023/05/22
8270
https与http的区别?
https要比http更加安全一些,也就是说http协议是由ssl+http协议构建的可进行加密传输、身份验证的网络协议要比http协议安全 现在大多数的网站都逐渐用https://,因为安全问题太重要了,有很多的网站都被攻破了,用户数据被泄露。 全站https将是以后网络发展的趋势,国外很多站点都是实行的全站https,中国人对信息安全好像还不是特别重视,甚至很多登录支付页面的是http, 我想在发生了很多安全信息被泄露的事故后,大多人就会越来越重视网络安全问题 所以说https://会是以后网络发展的趋
Dawnzhang
2018/10/18
5880
点击加载更多

相似问题

translatable="false“与<xliff:g>的区别

2112

蟒蛇中“0”与“`False`”的区别

20

model.train( False )与required_grad =False的区别

25

Hibernate中"insertable=false“与”瞬态“的区别

11

linux exit 1与false命令的区别

017
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文