smrtr / datagrid
Smrtr DataGrid is a searchable backend datagrid class with applications in data management, analysis and reporting.
1.3.5
2016-04-25 18:00 UTC
Requires
- php: >=5.3.0
- ext-curl: *
Requires (Dev)
- mikey179/vfsstream: v1.2.0
- phpunit/phpunit: 3.7.20
- satooshi/php-coveralls: dev-master
This package is not auto-updated.
Last update: 2024-12-21 15:44:38 UTC
README
A tool for working with 2d arrays, spreadsheets and data grids in PHP.
- CSVs
- JSON
- Search
- Transformations
- Fluent API
- Iteration & Filtering
Examples
use Smrtr\DataGrid; $grid = new DataGrid( array( array("First name", "Last Name", "Position", "Age"), "WR" => array("Wayne", "Rooney", "striker", 27), "KG" => array("Kieran", "Gibbs", "left back", 23), "GB" => array("Gareth", "Barry", "midfielder", 32), "TW" => array("Theo", "Walcott", "striker", 24) ), DataGrid::ASSOC_COLUMN_FIRST, DataGrid::ASSOC_ROW_KEYS ); $grid->saveCSV('/path/to/file.csv'); $grid->serveJSON('download.json'); $grid2 = new DataGrid; $grid2->loadCSV('/path/to/file.csv', true, true); print_r( $grid ->searchRows('Age<25 + Position=striker') ->getRowLabels() ); // [ "TW" ] print_r( $grid ->searchRows('Age<25 - Position=striker') ->getRowLabels() ); // [ "KG" ] print_r( $grid ->searchRows('Age<30 + (Position="left back" , Position=midfielder)') ->getRowLabels() ); // [ "KG" ] print_r( $grid ->searchRows('(Age<30 + Position="left back") , Position=midfielder') ->getRowLabels() ); // [ "KG", "GB" ] echo $grid->row('WR')['First name']; // "Wayne" $grid->renameColumn('First name', 'Forename'); $s = serialize($grid); $grid = unserialize($s); $inverse = $grid->transpose(); echo ($grid->getRowKeys() === $inverse->getColumnKeys()) ? 'Y' : 'N'; // "Y"
Install with composer
{
"require": {
"smrtr/datagrid": ">=1.3.2"
}
}
composer update