У меня есть код, который извлекает массив из 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)
Спасибо