【PHP8.x】mb_str_pad関数の使い方
mb_str_pad関数は、文字列を指定した長さになるように、別の文字列で埋める関数です。マルチバイト文字列に対応しており、日本語のような文字コードでも正しく動作します。
具体的には、元の文字列の左側、右側、または両側に、指定された埋め込み文字列を繰り返し追加することで、最終的な文字列の長さを目標の長さに調整します。埋め込み位置は、STR_PAD_LEFT
、STR_PAD_RIGHT
、STR_PAD_BOTH
のいずれかの定数で指定します。STR_PAD_LEFT
は左側、STR_PAD_RIGHT
は右側、STR_PAD_BOTH
は両側に埋め込みを行います。
例えば、文字列 "abc" を長さ 5 になるように右側に空白で埋めたい場合、mb_str_pad("abc", 5, " ", STR_PAD_RIGHT)
のように記述します。結果として、"abc " という文字列が得られます。
埋め込み文字列を指定しない場合は、デフォルトで空白が使用されます。目標の長さが元の文字列の長さよりも短い場合は、元の文字列がそのまま返されます。また、埋め込み位置の指定を省略した場合は、STR_PAD_RIGHT
がデフォルトで使用されます。
この関数は、固定長のデータを作成したり、文字列の表示を整える際に役立ちます。例えば、データベースに保存する際に、特定のフィールドの長さを固定したり、レポートを出力する際に、文字列を揃えて見やすく表示するために使用できます。マルチバイト文字列を扱う場合は、strlen関数ではなく、mb_strlen関数で文字列の長さを取得し、mb_str_pad関数と組み合わせて使用することで、予期せぬ文字化けを防ぐことができます。
基本的な使い方
構文(syntax)
mb_str_pad(string $string, int $length, string $pad_string = " ", int $pad_type = STR_PAD_RIGHT, ?string $encoding = null): string
引数(parameters)
string $string, int $length, string $pad_string = ' ', int $pad_type = STR_PAD_RIGHT, ?string $encoding = null
- string $string: パディングしたい元の文字列
- int $length: パディング後の文字列の目標長
- string $pad_string = ' ': パディングに使用する文字列。省略時はスペース
- int $pad_type = STR_PAD_RIGHT: パディングの種類。STR_PAD_LEFT (左詰め)、STR_PAD_RIGHT (右詰め)、STR_PAD_BOTH (中央揃え)
- ?string $encoding = null: 文字エンコーディング。省略時は内部エンコーディング
戻り値(return)
string
指定された文字列を指定された長さになるように、指定された文字で埋め込んだ新しい文字列を返します。