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.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
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:
63.12 ms | 407 KiB | 5 Q