Result Set
A League\Csv\ResultSet
object represents the associated result set of processing a CSV document with a constraint builder.
This object is returned from Statement::process execution.
Selecting records
Please header over the TabularDataReader documentation page
for more information on the class features. If you require a more advance record selection, you
should use a Statement or a FragmentFinder class to process the Reader
object. The
found records are returned as a ResultSet object.
Conversions
Json serialization
The ResultSet
class implements the JsonSerializable
interface. As such you can use the json_encode
function directly on the instantiated object. The interface is implemented using PHP’s iterator_array
on the ResultSet::getRecords
method. As such, the returned JSON
string data is affected by the
presence or absence of column names.
use League\Csv\Reader;
use League\Csv\Statement;
$records = [
['firstname', 'lastname', 'e-mail', 'phone'],
['john', 'doe', 'john.doe@example.com', '0123456789'],
['jane', 'doe', 'jane.doe@example.com', '0123456789'],
];
$tmp = new SplTempFileObject();
foreach ($records as $record) {
$tmp->fputcsv($record);
}
$reader = Reader::createFromFileObject($tmp)->setHeaderOffset(0);
$stmt = Statement::create()->offset(1)->limit(1);
$result = $stmt->process($reader);
echo '<pre>', PHP_EOL;
echo json_encode($result, JSON_PRETTY_PRINT), PHP_EOL;
//display
//[
// {
// "firstname": "jane",
// "lastname": "doe",
// "e-mail": "jane.doe@example.com",
// "phone": "0123456789"
// }
//]
Other conversions
If you wish to convert your CSV document in XML
or HTML
please refer to the converters bundled with this library.