PHP code example of tony-sol / flatter

1. Go to this page and download the library: Download tony-sol/flatter 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/ */

    

tony-sol / flatter example snippets


$data = [
    'array' => [
        'key' => 'value',
        'inner' => [
            'key' => 1,
            'with_separator' => 2,
        ],
    ],
];

$flattenData = (new \Flatter($data))->flatten();
// $flattenData = [
//     'array_key' => 'value',
//     'array_inner_key' => 1,
//     'array_inner_with_separator' => 2,
// ]

$inflatedData = (new \Flatter($flattenData))->inflate();
// $inflatedData = [
//     'array' => [
//         'key' => 'value',
//         'inner' => [
//             'key' => 1,
//             'with' => [
//                 'separator' => 2,
//             ],
//         ],
//     ],
// ];

$flattenData = (new \Flatter($data))->withCompositeKeySeparator('#')->flatten();
// $flattenData = [
//     'array#key' => 'value',
//     'array#inner#key' => 1,
//     'array#inner#with_separator' => 2,
// ]

$inflatedData = (new \Flatter($data))->withCompositeKeySeparator('#')->inflate();
// $inflatedData = [
//     'array' => [
//         'key' => 'value',
//         'inner' => [
//             'key' => 1,
//             'with_separator' => 2,
//         ],
//     ],
// ];

$flattenData = (new \Flatter($data))->escapingSeparatorInKeys()->flatten();
// $flattenData = [
//     'array_key' => 'value',
//     'array_inner_key' => 1,
//     'array_inner_with\_separator' => 2,
// ]

$inflatedData = (new \Flatter($flattenData))->escapingSeparatorInKeys()->inflate();
// $inflatedData = [
//     'array' => [
//         'key' => 'value',
//         'inner' => [
//             'key' => 1,
//             'with_separator' => 2,
//         ],
//     ],
// ];

$flattenData = (new \Flatter($data))
    ->applyClosureToKeys(static function (string $key) { return strtoupper($key); })
    ->applyClosureToValues(static function ($value) { return (string)$value; })
    ->flatten();
// $flattenData = [
//     'ARRAY_KEY' => 'value',
//     'ARRAY_INNER_KEY' => '1',
//     'ARRAY_INNER_WITH_SEPARATOR' => '2',
// ]

$inflatedData = (new \Flatter($flattenData))
    ->applyClosureToKeys(static function (string $key) { return strtolower($key); })
    ->applyClosureToValues(static function ($value) { return "--{$value}--"; })
    ->inflate();
// $inflatedData = [
//     'array' => [
//         'key' => '--value--',
//         'inner' => [
//             'key' => '--1--',
//             'with' => [
//                 'separator' => '--2--',
//             ],
//         ],
//     ],
// ]