<?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