- array_map: documentation ( source)
- implode: documentation ( source)
- preg_split: documentation ( source)
- json_encode: documentation ( source)
<?php
function convert_case($name) {
return implode(
'_',
array_map(
'strtolower',
preg_split('/(([A-Z]+)[^A-Z]*)/', $name, null, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY)
)
);
}
$samples = array(
'FooBar',
'FooBAR',
'FOObar',
);
echo json_encode(array_map("convert_case", $samples), JSON_PRETTY_PRINT);