How to convert PascalCase to pascal_case?

前端 未结 30 1593
北海茫月
北海茫月 2020-11-29 16:36

If I had:

$string = \"PascalCase\";

I need

\"pascal_case\"

Does PHP offer a function for this purpose?

30条回答
  •  时光取名叫无心
    2020-11-29 17:17

    "CamelCase" to "camel_case":

    function camelToSnake($camel)
    {
        $snake = preg_replace('/[A-Z]/', '_$0', $camel);
        $snake = strtolower($snake);
        $snake = ltrim($snake, '_');
        return $snake;
    }
    

    or:

    function camelToSnake($camel)
    {
        $snake = preg_replace_callback('/[A-Z]/', function ($match){
            return '_' . strtolower($match[0]);
        }, $camel);
        return ltrim($snake, '_');
    }
    

提交回复
热议问题