PHP中的字符串比较

时间:2011-09-15 00:02:11

标签: php string

我觉得这是地球上最大的傻瓜。但是我循环浏览一个文本文件并试图比较每一行并找到换行符......你知道......“\ n”。但我似乎无法比较字符串!!!! 这就是我在做的事情。

    $filename = 'StatesCities.txt';
$file = file($filename);
$matchedLines = array();

foreach($file as $line) {     
    $matchesLines[] = $line;
    if(strcmp($line, "La Mesa") == 0)
    {
        echo("Yeah");
    }
    echo($line);
    echo("<br />");
}

3 个答案:

答案 0 :(得分:0)

你的问题说你正在寻找“\ n”,但你的代码正在寻找“La Mesa”。也许你想说

 if (strpos($line, "\n")) 

答案 1 :(得分:0)

您是否尝试删除换行符?如果是这种情况,那么你可以爆炸它们。

$file = file_get_contents( $file_path );
$page = explode( "\n", $file );
//Now they're gone

foreach( $page as $line )
{
  if( strpos( $line, 'searchfor' ) !== false )
  {
     //do this
  }
}

strpos是我通常在字符串中搜索的方式,只需确保使用!==检查false而不是false或0.如果你要查找的字符串有一个0(第一个字符)的strpos,它将返回一个如果你没有用!==检查类型,则为误报。祝你好运。

答案 2 :(得分:0)

file()函数将在默认情况下创建的数组中维护换行符(\n)。有关详细信息,请参阅here;特别是flags部分。解决问题......

而不是:

$file = file($filename);

使用此:

$file = file($filename, FILE_IGNORE_NEW_LINES);