这个 strpos 和三元运算符有什么问题?

What's wrong with this strpos and ternary operator?

strpos($mydata,'Εntity') === false) ? 'normal' : 'other'

它returns总是'normal'即使

 $mydata="Entity: This data must work." 

虽然你的字符串有一个奇怪的编码,但如果你查看十六进制编辑器并比较你的字符串和 strpos 调用中的 Entity 你会发现不同之处:

//string
45 6e 74 69 74 79  
//strpos call
ce 95 6e 74 69 74 79 

所以现在要解决这个问题,只是不要从这里复制它所以只需用键盘正常输入它就可以正常工作。这里的证明:http://3v4l.org/lbL4v