在 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
}
我有一个代码跳过 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
}