<?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);
preferences:
43.41 ms | 404 KiB | 5 Q