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));
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
array ( 'test' => array ( 'access' => 111, 'aa' => array ( 'access' => 222, ), ), 'access' => 444, )

preferences:
76.73 ms | 1124 KiB | 4 Q