我需要找到三个单词之一,即使写在字符串的开头而不是仅仅在字符串的中间或结尾。 这是我的代码:
<?php
$string = "one test";
$words = array( 'one', 'two', 'three' );
foreach ( $words as $word ) {
if ( stripos ( $string, $word) ) {
echo 'found<br>';
} else {
echo 'not found<br>';
}
}
?>
如果$ string是“一个测试”,则搜索失败; 如果$ string是“ test one”,则搜索是好的。
谢谢!
答案 0 :(得分:1)
stripos
可以返回看起来像false
的值,而不是0
。在您的第二种情况下,单词"one"
在位置0与"one test"
相匹配,因此stripos
返回0,但是在您的if
测试中被认为是错误的。将您的if
测试更改为
if ( stripos ( $string, $word) !== false ) {
,您的代码应该可以正常工作。