首頁 >後端開發 >php教程 >PHP逻辑运算符。

PHP逻辑运算符。

WBOY
WBOY原創
2016-06-23 13:54:18927瀏覽

在做判断文件类型的时候遇到两个问题。代码如下:
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'

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn