PHPの文字列操作において、「文字列関数」は非常に重要な役割を果たします。文字列関数とは、文字列を生成・検索・置換・変換・解析・フォーマットするために使用される関数のことです。PHPには豊富な文字列関数が用意されており、効率的なテキスト処理が可能です。以下に、代表的な文字列関数とその用途を分類して詳しく説明します。
1. 文字列の長さを取得する関数
-
strlen(string $string)
文字列の長さ(バイト数)を返します。マルチバイト文字(日本語など)を含む場合は注意が必要です。 -
mb_strlen(string $string)
マルチバイト文字を正しく扱いたい場合はこちらを使用します。
2. 文字列の一部を取得する関数
-
substr(string $string, int $start, ?int $length = null)
指定した位置から部分文字列を取得します。 -
mb_substr(string $string, int $start, ?int $length = null)
マルチバイト対応版です。
3. 文字列の検索・位置取得
-
strpos(string $haystack, string $needle)
部分文字列の最初の出現位置を取得します(見つからない場合は false)。 -
strrpos(string $haystack, string $needle)
最後に出現する位置を取得します。 -
mb_strpos/mb_strrpos
マルチバイト文字列対応。
4. 文字列の置換
-
str_replace(mixed $search, mixed $replace, mixed $subject)
指定文字列を置換します。 -
preg_replace(string|array $pattern, string|array $replacement, string|array $subject)
正規表現による置換が可能です。
5. 文字列の分割・結合
-
explode(string $delimiter, string $string)
区切り文字で分割して配列にします。 -
implode(string $glue, array $pieces)
配列を文字列として結合します。
6. 文字列のトリミング
-
trim(string $string)
前後の空白や改行を削除します。 -
ltrim()/rtrim()
左側または右側のみをトリミングします。
7. 大文字・小文字の変換
-
strtolower(string $string)
すべて小文字に変換。 -
strtoupper(string $string)
すべて大文字に変換。 -
ucfirst(string $string)
先頭文字を大文字に変換。 -
mb_strtolower/mb_strtoupper
マルチバイト対応。
8. 文字列のフォーマット・比較
-
sprintf(string $format, mixed ...$values)
書式付きの文字列を生成します。 -
strcmp(string $str1, string $str2)
文字列を比較し、等しいかどうかを判定します(大小比較も可能)。
まとめ
PHPの文字列関数は、シンプルなものから複雑な正規表現処理まで幅広く対応しており、文字列を効率的に操作・解析するための強力なツールセットです。特に日本語などマルチバイト文字列を扱う場合は、mb_系の関数を積極的に使うことが推奨されます。
生成日:2025/05/03