最近、パスカルケース・キャメルケース・スネークケースという言葉を知ったのでまとめておきます。言語学の記事じゃないですよ!
パスカルケースとは、単語の1文字目が大文字で表現した文字列のことです。例えば、PlayStation、MacBook、MacDonald。
キャメルケースとは、パスカルケースと似ていますが、文字列の最初が小文字になります。例えば、iPhone、iTunes、eBay。パスカルケースを含めてキャメルケースと呼ぶこともあるけど、ここでは区別します。
スネークケースとは、単語境界をアンダースコア(_)でつないだも文字列です。例えば、file_get_contents、var_dump、。蛇の入れ物じゃないよ。
こんなことがしたかったので、変換用の関数を作ってみました。
function pascalize($string)
{
$string = strtolower($string);
$string = str_replace('_', ' ', $string);
$string = ucwords($string);
$string = str_replace(' ', '', $string);
return $string;
}
function camelize($string)
{
$string = pascalize($string);
$string[0] = strtolower($string[0]);
return $string;
}
function snake_case($string)
{
$string = preg_replace('/([A-Z])/', '_$1', $string);
$string = strtolower($string);
return ltrim($string, '_');
}
$strings = array(
'snake_case_string',
'SNAKE_CASE_STRING_UPPER',
'camelCaseString',
'PascalCaseString',
);
foreach ( $strings as $string )
{
echo 'pascalized: ';
echo pascalize($string)."\n";
echo 'camelized: ';
echo camelize($string)."\n";
echo 'snake-cased: ';
echo snake_case($string)."\n";
echo "------\n";
}
実行結果
pascalized: SnakeCaseString camelized: snakeCaseString snake-cased: snake_case_string ------ pascalized: SnakeCaseStringUpper camelized: snakeCaseStringUpper snake-cased: s_n_a_k_e__c_a_s_e__s_t_r_i_n_g__u_p_p_e_r ------ pascalized: Camelcasestring camelized: camelcasestring snake-cased: camel_case_string ------ pascalized: Pascalcasestring camelized: pascalcasestring snake-cased: pascal_case_string ------
トラバURL : http://suin.asia/trackback/478
氷川 XOOPS Module 開発室