PHP逻辑运算符。
程序员文章站
2024-02-09 14:52:34
...
在做判断文件类型的时候遇到两个问题。代码如下:
if($type!=='gif' || $type!=='jpeg' || $type!=='png') {
echo "format error";
}
else {
echo $type;
}
问题1:不等于 ,是用!==吗?
问题2: ||不起作用,换成or也没用。如果只判断一个就可以,说明不等于是正确的。
但是||为什么不起作用呢,这个如果在C#里可是绝对行得通的啊。
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'
上一篇: PHP实现中文圆形印章特效
下一篇: 如何解决JpGraph中文乱码的问题