过滤CSV文件,例如PHP中的SQL

问题描述 投票:0回答:1

我有一个包含多列的CSV文件,我想像对SQL一样进行排序和过滤。

CSV结构-

Type  |  Vin  | DateInStock
New   |  675F |   12/06/19
Used  |  7643 |   12/05/19

etc..

这是我的PHP文件-

$fh = fopen('myFile.csv', 'r');
while($line = fgetcsv($fh)) {
    $type[] = array($line[0]); 
    $vin[] = array($line[1]); 
    $date[] = array($line[2]); 
}

所以我通常会做的是

"SELECT * FROM table WHERE type = 'Used' AND date = '$todays_date'";

然后回显所有Vin码

$vin = $row['vin'];

我可以获得类型,vin和date的数组,但不确定如何仅显示来自今天日期且具有Used类型的vin。我要怎么做才能做到这一点?我试过这个只是为了获得Vin类型的数字->

  foreach($type as $t){
      $recall_type = $t[0];
      if($recall_type == 'Used'){
          foreach ( $vin as $value ){
              $recall_vin = $value[0];    
              $recall_vin.'<br>';
          } 
      } 
   }

但是那只是回声了数百次相同的vin模式。

我有一个包含多列的CSV文件,我想像对SQL一样进行排序和过滤。 CSV结构-类型| Vin | DateInStock新增| 675F | 19/12/6二手| 7643 | 19/12/05 ...

php csv sorting filter foreach
1个回答
2
投票

我会将所有值读入一个多维数组;然后您可以根据自己的标准使用array_filter进行过滤。例如:

array_filter
© www.soinside.com 2019 - 2024. All rights reserved.