我有从txt文件中提取数组的代码,它正在删除我不需要的列并将其插入到csv文件中。
我正在使用的代码是删除列,但我希望它检查两列,如果一个为空,则将其删除并使用下一列。
它不是根据列 12 是否为空而循环每行,它基本上只是对第一行运行一次 if 语句并将其应用于每一行。
while ($data = fgetcsv($f_in, 8000, "|")) {
$columns = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36]; //index of columns
if (empty($columns['12'])) {
$unwanted = [1,2,3,4,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36]; //index of unwanted columns
foreach($unwanted as $i) {
unset($data[$i]);
}
} else {
$unwanted = [1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36]; //index of unwanted columns
foreach($unwanted as $i) {
unset($data[$i]);
}
}
fputcsv($f_out, $data, ',', '"');
我得到相同的结果,而不是为每行循环。
if ($columns['12'] > 0)
谢谢
qq_花开花谢_0