PHP:stripos 找不到值



我需要找到这三个单词中的一个,即使是写在字符串的开头,而不仅仅是写在中间或结尾。这是我的代码:

<?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是"testone",则搜索效果良好。

谢谢!

stripos可以返回一个看起来像false但实际上不是的值,即0。在第二种情况下,单词"one"与位置0处的"one test"匹配,因此stripos返回0,但在if测试中,这被视为false。将if测试更改为

if ( stripos ( $string, $word) !== false ) {

并且您的代码应该可以正常工作。

相关内容

  • 没有找到相关文章

最新更新