使用CSV文件中包含特定字符串的每一行创建一个数组

时间:2016-02-16 11:45:11

标签: php arrays string csv

我有这个代码将csv文件的每一行存储到一个数组中:

$tname = myfile.csv

if ($type == 'text/csv'){
           $csvData = file_get_contents($tname);
           $lines = explode(PHP_EOL, $csvData);
           $array = array();
              foreach ($lines as $line){
                      $array[] = str_getcsv($line);
                      echo $line."<br>";
               }
}

如何只存储包含&#34; John很棒的整行?&#34;字符串并丢弃其他人?

2 个答案:

答案 0 :(得分:0)

您应该使用strpos()preg_match()功能。

if (strpos($line, 'John is great!') !== false) {
   echo 'true';
}

OR

if (preg_match('/John is great!/i',$line)) // i for case insensitive
    echo 'true';

答案 1 :(得分:0)

$tname = myfile.csv

if ($type == 'text/csv'){
    $csvData = file_get_contents($tname);
    $lines = explode(PHP_EOL, $csvData);
    $array = array();
    foreach ($lines as $line){
        if (stripos($line, 'John is great!') !== false) { 
            $array[] = str_getcsv($line);
             echo $line."<br>";
        }
    }
}

我假设你想要一个不区分大小写的匹配