在 CSV 中跳过 2 行 PHP

Skipping 2 lines in CSV PHP

我有一个代码跳过 1 行并从中生成 header。 我怎样才能跳过 2 行? (一个就像 - header ,但第二个我想扔进垃圾箱) 有什么参数控制吗?

 if (isset($file) && $file["tmp_name"] != "") {
            $this->dat = $this->ck->getData();

            $fl = fopen($file['tmp_name'], "r");

            // LEAVE A HEADER
            for ($colSkipIdx = 0; $colSkipIdx < $colSkipNum; $colSkipIdx++) {
                $head = $csv->fgetcsv_reg($fl, 2048, ",");  // 1 LINE THROW AWAY
                mb_language("Polish");
                mb_convert_variables(MAIN_CHARSET, "SJIS-win", $head);
            }
...

您可以随时使用

if ($colSkipIdx == 1) {/*your code*/}

这应该是你的第二行

如果您想跳过它或对以下所有行执行其他操作,则可以执行

if ($colSkipIdx > 1) {/*your code*/}

通常情况下,您会尝试尽可能简单,如果第一行包含您刚刚阅读的列名并忽略已阅读的内容。或者,如果您想使用列标题,请根据需要使用它们,因此以相同的方式忽略 2 行同样容易


if (isset($file) && $file["tmp_name"] != "") {
    $this->dat = $this->ck->getData();

    $fl = fopen($file['tmp_name'], "r");
    
    $csv->fgetcsv_reg($fl, 2048, ",");  // LINE 1 THROW AWAY
    $csv->fgetcsv_reg($fl, 2048, ",");  // LINE 2 THROW AWAY
    
    // process all the other lines
    while (($line= fgetcsv($fl, 2048, ",")) !== FALSE) {
        //process as normal
    }