[英]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.