Home  >  Article  >  Backend Development  >  PHP逻辑运算符。

PHP逻辑运算符。

WBOY
WBOYOriginal
2016-06-23 13:54:18888browse

在做判断文件类型的时候遇到两个问题。代码如下:
if($type!=='gif' || $type!=='jpeg' || $type!=='png')  {
echo "format error";
}
else {
echo $type;
}
问题1:不等于 ,是用!==吗?
问题2: ||不起作用,换成or也没用。如果只判断一个就可以,说明不等于是正确的。
        但是||为什么不起作用呢,这个如果在C#里可是绝对行得通的啊。


回复讨论(解决方案)

1可以用!=表示,也可以用!==表示,具体区别问度娘
2你意思是只要类型是gif,jpeg,png就判断正确?
那应该这样写:if($type!=='gif' && $type!=='jpeg' && $type!=='png')  

!==  运算符是全等于 ‘===’ 的否定用法,这个要区分值,数据类型,大小写等
改成这个  !=  就好了

问题1:不等于 ,是用!==吗?
 != 是不等于
!== 不全等于

问题2: ||不起作用,换成or也没用。
你需要用且 && 来逻辑判断。

对不起,逻辑错误。耽误大家时间真不好意思。

不等于:、!=、!==
其中 !== 比较时先比较类型

在你的语境中,$type!=='gif' || $type!=='jpeg' || $type!=='png' 是错误的
这个逻辑表达式表示了:只要 $type 不等于 gif、jpeg、png 中的一个,条件就成立
设 $type='gif', 那么他就必然不等于 jpeg,也不等于 png
C# 中也是不对的,C# 是火星人创造的?

所以表达式应为 与 表达式,而非 或 表达式
$type!=='gif' && $type!=='jpeg' && $type!=='png'

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn