<?php
function camelToSnake(string $input): string {
$out = preg_replace('/(?<!^)[A-Z]/', '_$0', $input);
return strtolower($out);
}
function snakeToCamel(string $input, bool $upperFirst = false): string {
$parts = explode('_', strtolower($input));
$head = $upperFirst ? ucfirst($parts[0]) : array_shift($parts);
$rest = array_map('ucfirst', $parts);
return $upperFirst ? $head . implode('', $rest) : $head . implode('', $rest);
}
echo camelToSnake('userFirstName'); // user_first_name
echo snakeToCamel('created_at'); // createdAt
echo snakeToCamel('foo_bar_baz', true); // FooBarBaz
Create a free account and build your private vault. Share publicly whenever you want.