文字列関数:PHPリファレンス

文字列関数に属するゴルフ用語を紹介しています。

addslashes()

addslashes関数は文字列をエスケープします。エスケープされる文字はシングルクォーテーション、ダブルクォーテーション、バックスラッシュ、NULLがあります。通常はSQLコマンドの処理に用いられます。

bin2hex()

bin2hex関数は文字列を16進数形式に変換して戻り値として返します。

chop()

chop関数は引数に与えられた文字列より、末尾にあるスペースを取り除いて返します。ちなみに、バックスラッシュを含む文字列も取り除きます。

chr()

chr関数はASCILLコードを文字に変換します。

crc32()

crc32関数はCRCチェックサムを生成する関数。CRCチェックサムとは、元データの誤りをチェックするものです。

crypt()

crypt関数はData Encryption Standard(DES)アルゴリズムによりハッシュ値を作成する関数です。主にパスワードなどの暗号化に用いられることが多いのが特徴です。

echo()

echo関数は、文字列を出力する関数です。引数を入力する際、括弧を省略する事も可能ですが、安全性のため、括弧はつけることを推奨します。print()と挙動はほぼ同じです。

explode()

explode関数は指定した区切り文字で文字列を分割する関数で、分割された個々の値が配列として返されます。殻文字が区切り文字として指定された場合はFALSEを返します。

htmlentities()

htmlentities関数は可能な文字を全てHTMLエンティティに変換する関数です。

htmlspecialchars()

htmlspecialchars関数は特殊文字をHTMLエンティティに変換する関数です。変換文字の対象としては、&、<、>、"、'があります。

implode()

implode関数は配列をひとつの文字列に結合する関数で、文字列を分割して配列化するexplode関数の逆の働きをします。

ltrim()

ltrim関数は文字列の左端の空白を削除する関数です。

mb_conbert_encoding()

mb_conbert_encoding関数は文字コードを変換する関数です。データベースの文字コードとブラウザへの出力文字コードが異なる場合などに用います。

mb_internal_encoding()

mb_internal_encoding関数は内部文字コードを取得し設定する関数です。

md5()

md5関数はMD5(Message Digest 5)に基づいたハッシュ値を作成する関数です。主な用途としてはパスワードの暗号化やユニークなキーの処理などに用いられます。

nlbr()

nlbr関数は文字列の改行文字の前に改行タグを挿入する関数です。主なnlbrの用途としては入力フォーム等においてテキストエリアに入力した改行は改行タグとして扱われませんので、入力確認画面などで改行が反映されません。ここでnlbr関数を用いて改行タグを挿入するとウェブブラウザでも改行が反映されて表示されます。

ord()

ord関数は指定された文字列の先頭文字のASCIIコードを取得する関数です。chr()関数と逆の働きを示します。

parse_str()

parse_str関数はクエリ文字列を解析する関数です。解析する結果はパラメータ名を変数名に持つ変数にセットされます。なお、配列にセットすることもできます。

printf()

printf関数は文字列を書式化して出力する関数です。書式中における%に続く要素を指定値で置き換えて出力します。

rtrim()

rtrim関数は、指定する文字列の右端空白を削除する関数です。なお、文字列を指定した後に削除する文字を指定することもできます。

setlocale()

setlocale関数はロケール情報を設定します。ロケール設定は数値の区切り文字や日時の表現方法を決定します。

sprintf()

sprintf関数は書式かされた文字列を表示する関数。書式化するという意味では、printf関数と同じです。異なる点は、戻り値として書式化された文字列を返すことです。

str_pad()

str_pad関数は文字列を埋める関数。文字列の左右を指定した文字列で埋めます。

strcasecmp()

strcasecmp関数は文字列を大文字、小文字の区別をせずに比較する関数です。

strcmp()

strcmp関数は、文字列を比較します。strcasecmpとほぼ同じ働きをしますが、strcmp関数の場合主時と小文字を区別して比較する点に注意が必要です。

strip_tags()

strip_tags関数は文字列からPHPタグやHTMLタグを取り除く関数です。なお、取り除く必要がないタグについては二番目のパラメータで指定することもできます。

stripslashes()

stripslashes関数は文字列のエスケープを解除する関数で、addsalashes関数と反対の処理を行います。

stristr()

stristr関数は大文字と小文字を区別することなく文字列を検索する関数です。検索した文字列が見つかった場所から後ろの文字列を戻り値として返します。

strlen()

strlen関数は文字列の長さを返す関数です。返される値はバイト数ですので、日本語の場合1文字で2という数字を返します(半角英数字で1)。

strncmp()

strncmp関数は指定した文字数まで文字列を比較する関数です(大文字と小文字は区別します)

strpos()

strpos関数は文字列を検索して最初に見つかった位置を返す関数です。検索を開始する位置も指定可能となっています。

strrchr()

strrchr関数は文字列から指定された文字を検索して、最後に見つかった場所以降の文字列を返します。ドメイン名など、特定の文字以降の文字列を切り取って取得する用途で使うことができます。

strrev()

strrev関数は文字列を逆にします。例)「abc」→「cba」

strrpos()

strrpos関数は文字列から文字を検索して、最後に見つかった位置を返します。strpos関数と似ていますが、strpos関数は検索した文字列が最初に見つかった場所を返す、という点で異なります。また、以前ではstrrpos関数で指定する検索文字は一文字ですが、PHP5では文字列全体が使用されます。

strstr()

strstr関数は大文字と小文字を区別して文字列を検索します。検索した文字列が見つかった場所から後ろの文字列を返します。例)「ABCDEFGHIJKLMN」から「efg」を検索→「EFGHIJKLMN」を返す。
文字列を探して一部を取得するだけではなく、文字列が含まれるかを調べるという使用法もあります。見つかったときの戻り値が「0」でない「TRUE」として使えることを利用して、文字列が含まれるか調べて処理を分岐するif文で使われています。

strtolower()

strtolower関数は文字列を小文字にします。文字列を比較する前には、大文字と小文字をそろえる目的で使用されます。

strtoupper()

strtoupper関数は文字列を大文字にします。

strtr()

strtr関数は文字列を置き換えます。置き換え前後の文字列は配列で指定することも可能です。文字列で指定された場合は、同じ長さの文字列が処理され、一方より長い部分は無視されます。

substr()

substr関数は文字列の一部を抽出します。OS名の先頭3文字が「win」であればwindows用の処理をするなど幅広く利用されています。ソフトのうちの約7割がこの関数を使っています。
「substr(x,o,n)」といった記述の「文字列xの先頭からn文字を取り出す」という使われ方がよくされています。

substr_count()

substr_count関数は文字列の出現回を数えます。活用例として、CSVやログデータの形式チェックがあります。各フィールドの区切り文字が正しい数あるかどうか(例:6項目なら区切り文字は5回出現する)を調べることで、形式をチェックできます。

substr_replace()

substr_replace関数は文字列の一部を置き換えます。3.4番目のパラメータでどの部分を置き換えるかを指定、2番目のパラメータで置き換え後の文字列を指定します。4番目のパラメータで指定する置き換え部のサイズを省略すると、指定位置以降の文字列すべてが対象となります。
開始位置が正の場合、先頭からの位置となり、開始位置が負の場合、終端からの位置となります。文字数が正の場合、置換する文字数となり、文字数が負の場合、終端からの文字数までが置換文字数となります。

trim()

trim関数は文字列の左右の空白を削除します。一つの文字列の冒頭又は末尾を取り除くのに使われます。メールアドレスや生成したユーザーID、パスワードに間違って空白が入らないようにしたいときにも使用できます。ltrim関数とrtrim関数の処理を同時に行うイメージです。2番目のパラメータで、削除する文字を指定可能ですが、指定しないときは空白やタブなどの文字が削除されます。

ucfirst()

ucfirst関数は文字列の最初の文字を大文字にします。全単語の先頭を大文字にするのではなく、文字列の最初の文字のみが大文字にされます。名字と名前を別々に処理するような場合に使用します。

ucwords()

ucwords関数は各単語の最初の文字を大文字にします。ucfirst関数が文字列の先頭のみを大文字にする点で異なります。

uniqid()

uniqid関数はユニークなIDを生成します。例えば、いくつかのホスト上で同時に ID を生成させる場合、全く同じ ID が生成されるのを防ぐことができます。接頭辞を省略すると「412d1fff93b8a」のような13文字の文字列が生成されます。1番目のパラメータで指定した接頭辞は、この文字列の前に付加されます。

wordwrap()

wordwrap関数は文字列に改行を挿入します。文字列分割文字を使用して指定した文字数数に文字列を分割します。日本語は2バイトですが、半角の英数字が混じってくると偶数バイトでの折り返しがうまくいかないことがあります。