possibilité de skip les premières lignes
This commit is contained in:
parent
a44da62b94
commit
9cf7ac908f
@ -52,6 +52,7 @@ abstract class AbstractReader implements IReader {
|
|||||||
$this->headers = $params["headers"] ?? static::HEADERS;
|
$this->headers = $params["headers"] ?? static::HEADERS;
|
||||||
$this->useHeaders = $params["use_headers"] ?? static::USE_HEADERS;
|
$this->useHeaders = $params["use_headers"] ?? static::USE_HEADERS;
|
||||||
$this->input = $params["input"] ?? static::INPUT;
|
$this->input = $params["input"] ?? static::INPUT;
|
||||||
|
$this->skip = $params["skip"] ?? 0;
|
||||||
$this->trim = boolval($params["trim"] ?? static::TRIM);
|
$this->trim = boolval($params["trim"] ?? static::TRIM);
|
||||||
$this->emptyAsNull = boolval($params["empty_as_null"] ?? static::EMPTY_AS_NULL);
|
$this->emptyAsNull = boolval($params["empty_as_null"] ?? static::EMPTY_AS_NULL);
|
||||||
$this->parseNone = boolval($params["parse_none"] ?? static::PARSE_NONE);
|
$this->parseNone = boolval($params["parse_none"] ?? static::PARSE_NONE);
|
||||||
@ -67,6 +68,8 @@ abstract class AbstractReader implements IReader {
|
|||||||
|
|
||||||
protected $input;
|
protected $input;
|
||||||
|
|
||||||
|
protected int $skip;
|
||||||
|
|
||||||
protected bool $trim;
|
protected bool $trim;
|
||||||
|
|
||||||
protected bool $emptyAsNull;
|
protected bool $emptyAsNull;
|
||||||
@ -81,15 +84,16 @@ abstract class AbstractReader implements IReader {
|
|||||||
|
|
||||||
protected function cookRow(array &$row): bool {
|
protected function cookRow(array &$row): bool {
|
||||||
if (!$this->useHeaders) return true;
|
if (!$this->useHeaders) return true;
|
||||||
if ($this->isrc == 0) {
|
if ($this->skip > 0) {
|
||||||
|
$this->skip--;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ($this->headers === null) {
|
||||||
# ligne d'en-tête
|
# ligne d'en-tête
|
||||||
$headers = $this->headers;
|
if ($this->schema === null) $headers = null;
|
||||||
if ($headers === null) {
|
else $headers = array_keys($this->schema);
|
||||||
if ($this->schema === null) $headers = null;
|
if ($headers === null) $headers = $row;
|
||||||
else $headers = array_keys($this->schema);
|
$this->headers = $headers;
|
||||||
if ($headers === null) $headers = $row;
|
|
||||||
$this->headers = $headers;
|
|
||||||
}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
A::ensure_size($row, count($this->headers));
|
A::ensure_size($row, count($this->headers));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user