当字符串可用时,strpos不会返回正确的结果

时间:2014-07-23 07:12:52

标签: php csv

我正在尝试检索strpos应该从文件中查找的单词列表,如下所示:

foreach ($words_array as $words_key => $word_value){
    foreach ($lines as $line_num => $line) {
        $line_as_array = explode(",", $line);
        echo $word_value;
        if (strpos($line_as_array[2],$word_value) !== false) {
            echo "blabla";
        }
    }
}

$ words_array来自文本文件:

offline
online
Backup
backup

现在我的`line_as_array [2]也来自一个文本文件:

website is online
website is offline
website backup has failed
website backup is complete

结果我期待它回应" blabla"但没有得到任何结果,我绝对没有回来。我在某个地方犯了一个思维错误吗?

回顾;我想检查字符串是否包含子字符串 - 然后回显" blabla"基于它是否如此。

1 个答案:

答案 0 :(得分:0)

我改变了一些代码来设置数据(我评论了循环):

<?php

$words_array = ['offline',
'online',
'Backup',
'backup'];

foreach ($words_array as $words_key => $word_value){
//foreach ($lines as $line_num => $line) {
//$line_as_array = explode(",", $line);
$line_as_array[2] = 'he website is now online';
echo $word_value."<br />";
if (strpos($line_as_array[2],$word_value) !== false) {
echo "blabla";
}
//}
}

对于这些数据,我得到输出:

offline
online
blablaBackup
backup

因此,对于online中的$words_array字词,您会获得blabla个信息,因为字online是句子he website is now online的asubstring。所以它似乎工作正常。