PHP code example of tomkyle / transposer
1. Go to this page and download the library: Download tomkyle/transposer library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
tomkyle / transposer example snippets
use tomkyle\Transposer\IterableTransposer;
$transposer = new IterableTransposer('Metric');
$data = [
'Q1-2023' => [
'revenue' => 125000,
'orders' => 1250,
'customers' => 800
],
'Q2-2023' => [
'revenue' => 138000,
'orders' => 1380,
'customers' => 920
],
'Q3-2023' => [
'revenue' => 142000,
'orders' => 1420,
'customers' => 980
]
];
$result = $transposer($data);
[
'revenue' => [
'Metric' => 'revenue',
'Q1-2023' => 125000,
'Q2-2023' => 138000,
'Q3-2023' => 142000
],
'orders' => [
'Metric' => 'orders',
'Q1-2023' => 1250,
'Q2-2023' => 1380,
'Q3-2023' => 1420
],
'customers' => [
'Metric' => 'customers',
'Q1-2023' => 800,
'Q2-2023' => 920,
'Q3-2023' => 980
]
]
use tomkyle\Transposer\IterableTransposer;
$transposer = new IterableTransposer('Field Name');
$transposer = new IterableTransposer();
$transposer = new IterableTransposer('Default');
$result = $transposer($data, 'Custom Label'); // Uses "Custom Label" instead of "Default"
$salesData = [
'January' => ['online' => 50000, 'retail' => 30000, 'wholesale' => 20000],
'February' => ['online' => 55000, 'retail' => 32000, 'wholesale' => 22000],
'March' => ['online' => 60000, 'retail' => 35000, 'wholesale' => 25000]
];
$transposer = new IterableTransposer('Channel');
$tableData = $transposer($salesData);
use Symfony\Component\Console\Helper\Table;
$transposer = new IterableTransposer('Channel');
$tableData = $transposer($data);
$table = new Table($output);
$table->setHeaders(array_keys(reset($tableData)));
foreach ($tableData as $row) {
$table->addRow($row);
}
$table->render();
$transposer = new IterableTransposer('Channel');
$csvData = $transposer($data);
$fp = fopen('export.csv', 'w');
// Write headers first
fputcsv($fp, array_keys(reset($csvData)));
// Write data rows
foreach ($csvData as $row) {
fputcsv($fp, $row);
}
fclose($fp);
$transposer = new IterableTransposer('Field');
// Empty input
$result = $transposer([]); // Returns []
// Non-nested data
$result = $transposer(['a', 'b', 'c']); // Returns []
// Mixed data types
$data = [
'category1' => ['field1' => 'value1', 'field2' => 123],
'category2' => ['field1' => null, 'field2' => true]
];
$result = $transposer($data); // Handles mixed types properly
bash
composer analyse