3v4l.org

run code in 300+ PHP versions simultaneously
<?php $config = array( 'test' => array( 'derp' => array( 'example' => true, 'test' => 'derp'), 'herpa' => 'derpa', 'perpa' => 'hurradur')); function flatten($array, $current_path='test') { $result = array(); foreach($array as $key => $val) { $path = $current_path . '.' . $key; if (is_array($val)) { $result[$path] = $val; $result = array_merge($result, flatten($val, $path)); } else { $result[$path] = $val; } } return $result; } var_dump(flatten($config));
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.38, 7.0.0 - 7.0.33, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
array(6) { ["test.test"]=> array(3) { ["derp"]=> array(2) { ["example"]=> bool(true) ["test"]=> string(4) "derp" } ["herpa"]=> string(5) "derpa" ["perpa"]=> string(8) "hurradur" } ["test.test.derp"]=> array(2) { ["example"]=> bool(true) ["test"]=> string(4) "derp" } ["test.test.derp.example"]=> bool(true) ["test.test.derp.test"]=> string(4) "derp" ["test.test.herpa"]=> string(5) "derpa" ["test.test.perpa"]=> string(8) "hurradur" }

preferences:
282.61 ms | 407 KiB | 424 Q