3v4l.org

run code in 300+ PHP versions simultaneously
<?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);

preferences:
37.05 ms | 402 KiB | 5 Q