[PHP] キャメルケースとアンダースコア表記の相互変換
スポンサーリンク
PHPで文字列をキャメルケースとスネークケース(アンダースコア区切り)で相互変換するコードのメモ。
キャメルケースからスネークケースへ
$before = "fooBar"; $agter = strtolower( preg_replace("/([A-Z])/u", "_$0", $before) ); echo $after;//foo_bar
文字列の先頭も大文字の場合は、substr()を使い先頭に付いてしまう余計なアンダーバーを削除する。
$before = "FooBar"; $after = strtolower( preg_replace("/([A-Z])/u", "_$0", $before) );//_foo_bar $after = substr( $after, 1 ); echo $after;//foo_bar
スネークケースからキャメルケース
$before = "foo_bar"; $parts = explode("_", $str );//アンダーバーで配列に分割 foreach( $parts as $part ){ if( !isset( $after ) ){ $after = $part; }else{ $after .= ucfirst( $part );//先頭の文字を大文字に変換 } } echo $after;//fooBar;
スポンサーリンク