-1

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

<?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”,则搜索是好的。

谢谢!

4

1 回答 1

1

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

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

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

于 2018-11-24T09:12:13.837 回答