这有点难以解释,但我之前从未遇到过这种情况,所以我不知道如何正确接近它。我正在编写一个Web应用程序,在提交表单时,它需要两个值,即当前值和提交的值。
提交表单后,会检查新值是否与当前值不同。如果这是真的,那么请完成剩下的过程。这样我就不会使用已经存在的值来更新数据库。
问题是我已经指定了选择框。其中一个选项是未分配的,其值为0.但是在下面的if语句中,零不被视为正确的值,因此无法进行检查。
( $newtaskassignee != $taskassignid ) { ... do something ... }
因此,当$newtaskassignee
为0时,以下if语句应为true,并继续使用直接大括号内的内容。
但是在此声明中,零被忽略,并且没有通过检查。如何更改此值接受1到9之间的数字,包括0 。这会检查用户ID,因此它们可以是任何内容,因此我无法选择范围,因为它显然会为每个用户增加1。
答案 0 :(得分:0)
( $newtaskassignee !== $taskassignid )
extra =将完全匹配并且不会将0视为false但是0。
答案 1 :(得分:0)
由于PHP没有强类型,因此有两组相等运算符。 一组专注于仅限值: == 和!= 和 一个专注于值和类型: === 和!==
比较''和0时,==将返回true,因为对于PHP,这些值是相同的。 因此,您可以使用===比较运算符来确保两个操作数都是相同的值AND类型。
查看http://php.net/manual/en/language.operators.comparison.php,特别是“相等”和“相同”之间的区别。
希望这个帮助