PHP仅从csv文件中提取价格低于10的简单产品
我试图从csv文件中获取一些特定数据。文件如下: 到目前为止,我逐行读取数据并打印所有数据。我试着一列一列地阅读,只得到价格低于10的简单产品。然后我需要将结果保存在新的csv中。文件这是我的密码: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
<?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',但我仍然收到未定义的索引!