3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ 'test' => [ 'access' => 111, 'aa' => [ 'access' => 222, 'bb' => 333 ], ], 'access' => 444, 'value' => 555 ]; function removeIfNotArrayAndNotSiblingOfAccess($array) { foreach ($array as $key => &$value) { if (is_array($value)) { $value = (__FUNCTION__)($value); } elseif ($key != 'access') { unset($array[$key]); } } return $array; } var_export(removeIfNotArrayAndNotSiblingOfAccess($array));

preferences:
25.02 ms | 404 KiB | 5 Q