$a = 'abcd';
$b = 'b';
$c = 'a';
echo strpos($a,$b) ? '原来是兄弟<br/>' : '非我族类,砍ta<br/>';
echo strpos($a,$c) ? '原来是兄弟<br/>' : '非我族类,砍ta<br/>';
echo strpos($a,$c)!=false ? '原来是兄弟' : '非我族类,砍ta';
结果显示
原来是兄弟
非我族类,砍ta
非我族类,砍ta
$c 命名是$a的一部分,结果当成异类,连着被砍了两次,冤枉,引发了一场本是同根生,相煎何太急的血案悲剧!
strpos()返回的是字符串在另一个字符串出现的位置,而这个位置是从0开始计算的。$c在$a中出现的位置是0,因此被砍。
所以,正确的判断应该是: strpos($a,$c) !== false
$a = 'abcd';
$c = 'a';
echo strpos($a,$c)!==false ? '原来是兄弟' : '非我族类,砍ta';