PHP: stripos 找不到值
PHP: stripos doesn't find a value
我需要找到这三个单词中的一个,即使它写在字符串的开头,而不仅仅是中间或结尾。
这是我的代码:
<?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 是 "one test" 则搜索失败;
如果 $string 是 "test one" 则搜索很好。
谢谢!
stripos
可以 return 一个看起来像 false
但实际上不是的值,即 0
。在你的第二种情况下,单词 "one"
在位置 0 匹配 "one test"
所以 stripos
returns 0,但在你的 if
测试中被视为错误。将您的 if
测试更改为
if ( stripos ( $string, $word) !== false ) {
你的代码应该可以正常工作。
我需要找到这三个单词中的一个,即使它写在字符串的开头,而不仅仅是中间或结尾。 这是我的代码:
<?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 是 "one test" 则搜索失败; 如果 $string 是 "test one" 则搜索很好。
谢谢!
stripos
可以 return 一个看起来像 false
但实际上不是的值,即 0
。在你的第二种情况下,单词 "one"
在位置 0 匹配 "one test"
所以 stripos
returns 0,但在你的 if
测试中被视为错误。将您的 if
测试更改为
if ( stripos ( $string, $word) !== false ) {
你的代码应该可以正常工作。