Example #1
0
 public function testFlags()
 {
     $config = new LexerConfig();
     $this->assertSame(SplFileObject::READ_CSV, $config->getFlags());
     $config->setFlags(SplFileObject::READ_AHEAD | SplFileObject::SKIP_EMPTY | SplFileObject::READ_CSV);
     $flags = SplFileObject::READ_AHEAD | SplFileObject::SKIP_EMPTY | SplFileObject::READ_CSV;
     $this->assertSame($flags, $config->getFlags());
 }
Example #2
0
<?php

require_once __DIR__ . '/../vendor/autoload.php';
// load composer
use Goodby\CSV\Import\Standard\Lexer;
use Goodby\CSV\Import\Standard\Interpreter;
use Goodby\CSV\Import\Standard\LexerConfig;
// the result comes into this variable
$temperature = array();
// set up lexer
$config = new LexerConfig();
$config->setDelimiter("\t");
$config->setFlags(\SplFileObject::READ_AHEAD | \SplFileObject::SKIP_EMPTY | \SplFileObject::READ_CSV);
$lexer = new Lexer($config);
// set up interpreter
$interpreter = new Interpreter();
$interpreter->addObserver(function (array $row) use(&$temperature) {
    $temperature[] = array('temperature' => $row[0], 'city' => $row[1]);
});
// parse
$lexer->parse('temperature.tsv', $interpreter);
var_dump($temperature);