Php Can';不理解验证逻辑:==vs==
我正在学习验证方面的东西,但我无法理解这一点:Php Can';不理解验证逻辑:==vs==,php,truthiness,Php,Truthiness,我正在学习验证方面的东西,但我无法理解这一点: if (strpos($value, "@") === false) { echo "Validation failed." } ==和==之间有什么区别?为什么我们不能使用==,为什么它是===false?false是否表示@不在$value中,或表示0?相等运算符== A==B检查A和B是否相等,但不检查它们是否是相同的数据类型 一个相关的例子:0==false为true 标识运算符== A===B检查A和B是否彼此相等,也检查相同的数据类型
if (strpos($value, "@") === false) { echo "Validation failed." }
==
和==
之间有什么区别?为什么我们不能使用==
,为什么它是===false
?false是否表示@
不在$value
中,或表示0
?相等运算符==
A==B
检查A和B是否相等,但不检查它们是否是相同的数据类型
一个相关的例子:0==false
为true
标识运算符==
A===B
检查A和B是否彼此相等,也检查相同的数据类型
一个相关的例子:0===false
为false
此处的应用程序
将此应用到您的案例中,如果发现@
作为字符串的第一个字符,strpos($value,“@”)
将返回0
。如果根本找不到,它将返回false
因此,为了避免混淆这两种情况,测试必须使用==
而不是=
有用的参考资料:
我假设这是php,但等式和标识运算符在许多编程语言中都很常见。等式运算符
=
A==B
检查A和B是否相等,但不检查它们是否是相同的数据类型
一个相关的例子:0==false
为true
标识运算符==
A===B
检查A和B是否彼此相等,也检查相同的数据类型
一个相关的例子:0===false
为false
此处的应用程序
将此应用到您的案例中,如果发现@
作为字符串的第一个字符,strpos($value,“@”)
将返回0
。如果根本找不到,它将返回false
因此,为了避免混淆这两种情况,测试必须使用==
而不是=
有用的参考资料:
我假设这是php,但等式和标识运算符在许多编程语言中都很常见。不用担心。请将我的回答标记为已接受,以表示感谢,并帮助其他用户找到有用的信息。对不起,我不知道,有点新,请让我检查无需担心。请将我的回答标记为已接受,以表示感谢,并帮助其他用户找到有用的信息。对不起,我不知道,有点新,让我检查一下