繁体   English   中英

<>,=!,==之间的区别! 在PHP中

[英]difference between <>, =!, ==! in php

嗨,我正在做一个有条件的

if ($row['ConsignadaCaja'] === 'si' && $row['Estado'] ==! 'I') {
                $pago = 0;
}

它不能按我的意愿工作

所以我尝试使用

if ($row['ConsignadaCaja'] === 'si' && $row['Estado'] =! 'I') {
                $pago = 0;
}

但它也不起作用

最后我试试这个:

if ($row['ConsignadaCaja'] === 'si' && $row['Estado'] <> 'I') {
                $pago = 0;
}

它有效,但不是为什么?

==! 不是您正在考虑的运营商 - 您在这里混合了两个运营商。

== 检查是否平等 ,并且! 是一个逻辑非操作 因此,您实际上正在执行其中之一,这要归功于运算符优先级 ! 高于比较或赋值运算符:

if( $row['Estado'] = (!'I'))  // Assigns the inverted value of 'I' to $row['Estado']
if( $row['Estado'] == (!'I')) // Compares the inverted value of 'I' to $row['Estado']

相反,您应该使用!=!== ,具体取决于您是否希望发生类型强制。

请注意,如果您看到<>按预期工作,则这与!=运算符相同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM