<?php

function camelToUS($string, $us = "-") {
    return strtolower(preg_replace(
    	'/(?<=\d)(?=[A-Za-z])|(?<=[A-Za-z])(?=\d)|(?<=[a-z])(?=[A-Z])/', $us, $string));
}

$test_values = [
    'foo'       => 'foo',
    'fooBar'    => 'foo-bar',
    'foo123'    => 'foo-123',
    '123Foo'    => '123-foo',
    'fooBar123' => 'foo-bar-123',
    'foo123Bar' => 'foo-123-bar',
    '123FooBar' => '123-foo-bar',
];

foreach ( $test_values as $key => $val ) {
   echo "$key: " . camelToUS($key) .  " => " . (camelToUS($key) == $val) . "\n";
}

?>