記事一覧

PHPで使用頻度の高いstring関数を調べてみた



目次



文字列操作はプログラムの基本

ハロー、みなさんエジソンです。

プログラムの基本は文字に始まり、文字列操作に終わるといっても過言ではありません。使用するプログラミング言語の文字列操作関数を把握しておくのは、プログラマにとっては何より大事なことであると言えるでしょう。

そこで、今回とあるプロジェクトのソース上に出現した文字列操作関数をまとめてみました。

使用頻度の高いstring関数

とあるプロジェクトのソースコードに出現した文字列操作関数には以下がありました。

関数 シグニチャ 説明
str_replace mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )/td> 検索文字列に一致したすべての文字列を置換する/td>
str_pad string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] ) 文字列を固定長の他の文字列で埋める
str_repeat string str_repeat ( string $input , int $multiplier ) 文字列を反復する
substr_count int substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] ) 副文字列の出現回数を数える
mb_language mixed mb_language ([ string $language = mb_language() ] ) 現在の言語を設定あるいは取得する
mb_internal_encoding mixed mb_internal_encoding ([ string $encoding = mb_internal_encoding() ] ) 内部文字エンコーディングを設定あるいは取得する
mb_substr string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] ) 文字列の一部を得る
mb_strlen mixed mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] ) 文字列の長さを得る
mb_strtolower string mb_strtolower ( string $str [, string $encoding = mb_internal_encoding() ] ) 文字列を小文字にする
mb_parse_str bool mb_parse_str ( string $encoded_string [, array &$result ] ) GET/POST/COOKIE データをパースし、グローバル変数を設定する
mb_convert_encoding string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] ) 文字エンコーディングを変換する

接頭辞が str となっているものは通常の文字列関数で、mb となっているものはマルチバイト文字に対する文字列関数です。いわゆる、日本語に対する文字列操作などがこれに該当します。

これらの関数を直接呼び出している箇所もありますし、ラップ関数にして利用している箇所もありますので、正確な使用回数の計測は断念しましたが、当プロジェクトでは、str_replace関数を多用しているようでした。とはいえ、作成するアプリやシステムの種類によって、どのような関数がよく使われていくかは変わるはずなので、参考になるような事ではないのですが。

文字列操作関数のカテゴリに入るかは分かりませんが、以下の変換関数も文字列加工の際に良く利用する印象があります。

関数 シグニチャ 説明
implode string implode ( string $glue , array $pieces ) 配列要素を文字列により連結する
explode array explode ( string $delimiter , string $string [, int $limit ] ) 文字列を文字列により分割する

道具はいつでも手元に置いて錆び付かないようにする

プログラマにとっての道具とは”知識”です。”知識”がいつでも記憶から取り出して置けるような状況こそが、錆びが無い状態と言えるかと思います。このような状態を維持する事が、作業効率アップに繋がるものだと思います。

インターネットで調べれば何でも分かってしまう昨今ですが、知らず知らずの内に、調べて答えを得る事が目的にすり替わってしまい、問題解決能力の上達につながっていない事もあるのではないでしょうか。

基礎力とは言わば知識量でもあり、知識を源泉として実務に活用できる能力が応用力となるはずです。応用力が高まっても肝心の基礎力がなければ、応用力を正しく振るう事ができません。

プロジェクトの節目に、既存のソースコードを復習してみると発見や学びが見つかるかもしれませんね。


関連記事

このエントリーをはてなブックマークに追加

コメント

コメントの投稿

非公開コメント

プロフィール

EZOLABブログへようこそ。
EZOLABは、札幌のソフトウェア会社です。

http://ezolab.co.jp