我现在使用strpos
来检查字符串是否存在于数组中。问题是,当我将字符串与使用=== true
进行比较时,当字符串包含UTF-8字符时,它不会返回true
。我需要使用!== false
来返回我期望的结果。但是,不管我使用===true
还是!==false
,如果字符串不包含UTF-8字符,它们都将返回true。
所以我想问的是为什么我必须使用!== false
来比较UTF-8字符而不是=== true
?此外,=true
和!=false
在比较中相同吗?在比较中哪一个更适合返回true?
在线示例
来源http://php.net/strpos
返回针相对于干草堆字符串的开头(与偏移无关)。另请注意字符串位置从0开始,而不是从1开始。
如果未找到针头,则返回FALSE。
Strpos不应该返回true,它应该返回一个引用位置的整数。