PHP strpos工作不正常

PHP strpos工作不正常,php,strpos,Php,Strpos,编辑: 好吧,对于每个看起来有精神障碍的人来说,看看这应该是什么样子,以及为什么Halcyon的解决方案是用干草堆和针头交换是有意义的: $test = 'bla'; if(strpos($test, 'hauptkat') !== false OR strpos($test, 'kat') !== false) { echo 'hauptkat or kat is inside $test'; } else { echo 'hauptkat or kat is NOT insi

编辑:

好吧,对于每个看起来有精神障碍的人来说,看看这应该是什么样子,以及为什么Halcyon的解决方案是用干草堆和针头交换是有意义的:

$test = 'bla';
if(strpos($test, 'hauptkat') !== false OR strpos($test, 'kat') !== false)
{
    echo 'hauptkat or kat is inside $test';
}
else
{
    echo 'hauptkat or kat is NOT inside $test';
}

我想你已经把针线和干草堆对调了

strpos("hauptkat", "kat") // 5

请参阅:.

您认为字符串中的
bla
在哪里:
hauptkat
kat
?->现在在这里等待根据答案,你交换了你的针和干草堆。那么,
$test
到底和什么有什么关系呢$测试包括“bla”。。。当然不匹配。你是对的,我换了,应该是:if(strpos($test,'hauptkat')!==false或strpos($test,'kat')!==false)^^thanks@BungholeOK这就是为什么你应该阅读手册。但这仍然不符合布拉的辩护理由,布拉的辩护理由是:$test。PHP因交换针头和草堆参数的顺序而臭名昭著。这是对的,Halcyon,通常是另一种方式around@BungholeOK对于字符串函数,如
strpos
strstr
它是干草堆,对于数组函数,例如
在数组中
array\u key\u存在