PHP仅从csv文件中提取价格低于10的简单产品

PHP仅从csv文件中提取价格低于10的简单产品,php,Php,我试图从csv文件中获取一些特定数据。文件如下: 到目前为止,我逐行读取数据并打印所有数据。我试着一列一列地阅读,只得到价格低于10的简单产品。然后我需要将结果保存在新的csv中。文件这是我的密码: <?php $row = 1; $mycsvfile = array(); //define the main array. if (($handle = fopen("php-files-task.csv", "r")) !== FALSE) { while (($data = fge

我试图从csv文件中获取一些特定数据。文件如下:

到目前为止,我逐行读取数据并打印所有数据。我试着一列一列地阅读,只得到价格低于10的简单产品。然后我需要将结果保存在新的csv中。文件这是我的密码:

<?php


$row = 1;
$mycsvfile = array(); //define the main array.
if (($handle = fopen("php-files-task.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
    echo "<p> $num fields in line $row: <br /></p>\n";
    $row++;
    for ($c=0; $c < $num; $c++) {
        echo $data[$c] . "<br />\n";
    }
}
fclose($handle);
foreach ($handle as $data) {
fputcsv($fp, $data);
}
}
?>


fputcsv的第一个参数是错误的,所以我认为它必须是一个数组,类似于能够将结果放入新文件的数组

下面的代码对我有用

$row = 1;
$mycsvfile = array(); //define the main array.
$new_array = array();
if (($handle = fopen("php-files-task.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {

    if($data['product_t'] == 'simple' && $data['price'] < 10){
        $new_array = array_push($new_array, $data);
    }
}
fclose($handle);
$fp = ['sku', 'product_t', 'name', 'price'];
foreach ($new_array as $key => $value) {
    fputcsv($fp, $value);
}
$row=1;
$mycsvfile=array()//定义主数组。
$new_array=array();
if($handle=fopen(“php files task.csv”,“r”))!==FALSE){
while(($data=fgetcsv($handle,1000,“,”)!==FALSE){
如果($data['product']='simple'&&$data['price']<10){
$new\u array=array\u push($new\u array,$data);
}
}
fclose($handle);
$fp=[‘sku’、‘产品’、‘名称’、‘价格’];
foreach($key=>$value的新数组){
fputcsv($fp$value);
}

在我这边,我收到一个通知:未定义索引:第10行的product\u type!实际上列名是'product\u type',但我仍然收到未定义的索引!