fixes unparse bug if array ids doesn't begin on zero (comments#149)

This commit is contained in:
Susann Sgorzaly
2018-11-13 18:53:08 +01:00
committed by Fonata
parent 8aa61914f7
commit ab9e8a0af9
2 changed files with 7 additions and 1 deletions

View File

@@ -846,7 +846,7 @@ class Csv {
}
// this is needed because sometime titles property is overwritten instead of using fields parameter!
$titlesOnParse = !empty($this->data) ? array_keys($this->data[0]) : array();
$titlesOnParse = !empty($this->data) ? array_keys(reset($this->data)) : array();
// both are identical, also in ordering
if (array_values($fields) === array_values($titlesOnParse)) {

View File

@@ -75,6 +75,12 @@ class UnparseTest extends Testcase {
$this->unparseAndCompare($expected, $fields);
}
public function testUnparseDefaultFirstRowMissing(){
unset($this->csv->data[0]);
$expected = "column1,column2\rvalue3,value4\r";
$this->unparseAndCompare($expected);
}
private function unparseAndCompare($expected, $fields = array()) {
$str = $this->csv->unparse($this->csv->data, $fields);
$this->assertEquals($expected, $str);