欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP逻辑运算符。

程序员文章站 2024-02-09 14:52:34
...
在做判断文件类型的时候遇到两个问题。代码如下:
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'