4
A
回答
3
由于PHP正在做type conversion,它将字符串转换为整数,并且它的工作方法是将所有数字都计数到非数字值。在你的情况下,这是子字符串('1')(因为,
是第一个非数字字符)。如果字符串开始什么,但一个数字,你会得到0
-1
0
我猜你想知道一个变量是否在范围内的值。
您可以使用in_array
:
if (in_array(1, array(1, 3, 5, 6)))
echo "in";
0
if(in_array(1, array(1,3)) {
echo "in";
}
4
您比较一个字符串和一个整数。该字符串必须首先转换为整数,PHP将数字字符串转换为整数。由于该字符串的开头是'1',因此它将数字1与数字1进行比较,它们是相等的。
你打算使用哪些功能?
+0
我还想补充一点,如果他已经使用了“===”(身份比较)他也会比较类型。 – Secko 2010-12-16 17:29:56
1
1
如果你想检查1等于1或3,那么我肯定会做这种方式:
if (1 == 1 || 1 == 3)
5
的==
符不键入两个值转换,试图让它们是同一种类型。在你的例子中,它会将第二个值从一个字符串转换为一个整数,这将等于1
。这显然等于你匹配的值。
如果你的第一个值是一个字符串 - 例如'1'
用引号括起来,而不是一个整数,那么匹配会失败,因为双方都是字符串,所以它会做一个字符串比较,它们是不同的字符串。
如果您需要一个不会进行类型转换的精确匹配运算符,PHP还提供了一个tripple-equal运算符===
,这可能是您正在寻找的内容。
希望有所帮助。
相关问题
- 1. Php日期比较问题
- 2. PHP比较疑问
- 3. PHP中的变量比较问题
- 4. Symfony 2 PHP比较日期问题
- 5. PHP:阵列比较问题 - 网址
- 6. JavaScript比较问题
- 7. 双比较问题
- 8. DateTime比较问题
- 9. Oracle比较问题
- 10. jquery对象比较问题
- 11. 字符串比较问题
- 12. android string比较问题?
- 13. Java .charAt(i)比较问题
- 14. 的NSString比较的问题
- 15. 比较功能问题asp.net
- 16. Groovy号码比较问题
- 17. Autohotkey_L数值比较问题
- 18. SQL日期比较问题
- 19. SQLite:“IN”比较问题
- 20. 比较验证问题Asp.net
- 21. 指针比较问题
- 22. 分数比较问题
- 23. 词法比较的问题
- 24. PagingPredicate问题与比较器
- 25. STL向量比较问题
- 26. Java的比较问题
- 27. 变量比较的问题
- 28. 问题与浮点比较
- 29. 日期比较问题
- 30. MySQL日期比较问题?
你想完成什么? – raRaRa 2010-12-16 17:17:18
http://php.net/manual/en/language。operators.comparison.php – 2010-12-16 17:18:10