3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ 'Foo', 'bAr' => 'BaR', 'suB' => [ 'a' => 1, 2 => 'b', 'C' => null, ], 'obj' => (object) [ 'd' => 1.333, 'SubArR' => [ 'This' => 'Is', 'a' => 'challenge', ] ] ]; function recursiveWalker(array|object &$level, callable $callback) { foreach ($level as &$v) { switch (gettype($v)) { case 'string' : $v = $callback($v); break; case 'array' : case 'object' : (__FUNCTION__)($v, $callback); } } } recursiveWalker($array, 'strtolower'); var_export($array);
Output for 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 ( 0 => 'foo', 'bAr' => 'bar', 'suB' => array ( 'a' => 1, 2 => 'b', 'C' => NULL, ), 'obj' => (object) array( 'd' => 1.333, 'SubArR' => array ( 'This' => 'is', 'a' => 'challenge', ), ), )

preferences:
59.5 ms | 1019 KiB | 4 Q