function array_recursive(&$input, $funcname, $userdata = "")
{
if (!is_callable($funcname)) {
return false;
}
if (!is_array($input)) {
return false;
}
foreach ($input as $key => $value) {
if (is_array($input[$key])) {
array_recursive($input[$key], $funcname, $userdata);
} else {
$saved_value = $value;
if (!empty($userdata)) {
$funcname($value, $key, $userdata);
} else {
$funcname($value, $key);
}
if ($value != $saved_value) {
$input[$key] = $value;
}
}
}
return true;
}