3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = ['foo' => ['bar' => 'lol', 'asdf' => ['rofl', ['haha' => 'lmao'], 'lawl']], ['hehe' => 'haha']]; function getLeafsWithKeys(array $array, array $keys = []): array { $result = []; foreach ($array as $key => $value) { $new_keys = is_numeric($key) ? $keys : array_merge($keys, [$key]); if (is_array($value)) { $result = array_merge([], ...[$result, getLeafsWithKeys($value, $new_keys)]); } else { $result[implode(' > ', $new_keys)][] = $value; } } return $result; } print_r(getLeafsWithKeys($array));
Output for git.master, git.master_jit, rfc.property-hooks
Array ( [foo > bar] => Array ( [0] => lol ) [foo > asdf] => Array ( [0] => rofl [1] => lawl ) [foo > asdf > haha] => Array ( [0] => lmao ) [hehe] => Array ( [0] => haha ) )

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
175.41 ms | 406 KiB | 5 Q