Php 如何从文件中筛选输入?(菲律宾)

Php 如何从文件中筛选输入?(菲律宾),php,function,input,filter,Php,Function,Input,Filter,首先,我是PHP世界的新手。。如果我能在这里找到我需要的东西,我将不胜感激。非常感谢 我有一个多行的输入文件,每行都有一些人的名字和他们居住的地方(名字和位置用点击隔开(下面可能不会完全显示))。就像这个例子: 约翰威廉纽约 班加罗尔坎菲尔酒店 路易瑟拉姆西纽约 因此,我想编写一个PHP函数,逐行读取该文件,并仅打印(输出到另一个文件)居住在纽约的人 我编写这个函数是为了逐行读取文件 function process_file($input) { $handle = @fopen("

首先,我是PHP世界的新手。。如果我能在这里找到我需要的东西,我将不胜感激。非常感谢

我有一个多行的输入文件,每行都有一些人的名字和他们居住的地方(名字和位置用点击隔开(下面可能不会完全显示))。就像这个例子:

  • 约翰威廉纽约
  • 班加罗尔坎菲尔酒店
  • 路易瑟拉姆西纽约
因此,我想编写一个PHP函数,逐行读取该文件,并仅打印(输出到另一个文件)居住在纽约的人

我编写这个函数是为了逐行读取文件

function process_file($input)

{

  $handle = @fopen("input.txt", "r");

  if ($handle) {

     while (($buffer = fgets($handle, 4096)) !== false) {

         echo process_line(trim($buffer));

     }

     fclose($handle);

  }

}


process_file("input.txt");


?>
我的问题是如何编写函数来过滤输入文件中的文本?因为我只想打印住在纽约的人

你可以用它来确定一个字符串是否包含另一个字符串

function process_line($str, $findme) {
    if (strpos($str, $findme) !== false) {
        return $str;
    }
}

您可以使用来确定某个字符串是否包含另一个字符串

function process_line($str, $findme) {
    if (strpos($str, $findme) !== false) {
        return $str;
    }
}


为什么不在函数
函数进程文件($input,$location='newyork')中添加另一个参数呢
您是否考虑过将数据保存在数据库中的“input.txt”而不是平面文件中?这将使您所描述的内容变得非常简单。fgetcsv()是一个用于读取制表符分隔文件的有用函数为什么不向函数
函数进程文件($input,$location='new york')添加另一个参数呢?
您是否考虑过将数据保存在数据库中的“input.txt”中而不是平面文件中?这将使您描述的内容非常简单。fgetcsv()是一个用于读取选项卡分隔文件的有用函数
      $handle = @fopen("input.txt", "r");

      if ($handle) {

         while (($buffer = fgets($handle, 4096)) !== false) {

           $n = explode('\t',$buffer)   // $n[0] = name, $n[1] = city
           if ( $n[1] == "NewYork" ) {
             echo $n[0] . "\n";
           }
         }

         fclose($handle);

      }