// AStringConverted -> a_string_converted
function toUnderscoreStyle($s) {
$f = function ($match) { return "_" . mb_strtolower($match[1]); };
return preg_replace_callback('/([A-Z])/', $f, lcfirst($s));
}
// a_string_converted -> aStringConverted
function toCamelCase($s) {
$f = function($match) { return mb_strtoupper($match{1}); };
return preg_replace_callback('/_([a-z])/', $f, $s);
}
