3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ 'a' => [ 'a' => [ 'a' => null, 'b' => null ], 'b' => [ 'a' => null, 'b' => null ] ], 'b' => [ 'a' => [ 'a' => null, 'b' => null ], 'b' => [ 'a' => null, 'b' => null ] ] ]; function getKeyPaths(array $array, string $prefix = ''): string { return implode( ',', array_map( fn($k, $v) => is_array($v) ? getKeyPaths($v, "$prefix$k") : "$prefix$k", array_keys($array), $array ) ); } var_export(getKeyPaths($array));
Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
'aaa,aab,aba,abb,baa,bab,bba,bbb'

preferences:
54.81 ms | 402 KiB | 62 Q